React به صورت پیشفرض از ES6 برای توسعهی برنامههای خودش استفاده میکند؛ اما استفادهی از TypeScript با پروژههای React، مزایای قابل توجهی را مانند type checking در زمان کامپایل برنامه، دسترسی به intellisense آنی، امکان refactoring بهتر را در اختیار توسعه دهنده قرار میدهد که نه فقط سرعت و سهولت توسعه را افزایش میدهند، بلکه از بروز بسیاری از خطاهای زمان اجرای برنامه نیز جلوگیری میکند.
ایجاد پروژههای React مبتنی بر ...
پس از آشنایی با « روش کار با فایلهای ایستا در برنامههای React »، اکنون اگر این فایلها ایستا نباشند و توسط یک برنامهی ASP.NET Core بازگشت داده شوند، چطور میتوان از آنها در برنامههای React استفاده کرد؟ برپایی پروژههای مورد نیاز
ابتدا یک پوشهی جدید را مانند DownloadFilesSample، ایجاد کرده و در داخل آن دستور زیر را اجرا میکنیم: > dotnet new react
در مورد این قالب که امکان تجربهی توسعهی یکپار ...
استفاده از Redux درون پروژههای React، به روشهای مختلفی قابل انجام است؛ یعنی محدودیتی از لحاظ نحوه چیدمان فایلها، تغییر state و نحوهی dispatch کردن action وجود ندارد. به عبارتی این آزادی عمل را خواهیم داشت تا خودمان سیمکشی پروژه را انجام دهیم؛ ولی مشکل اصلی اینجاست که نمیتوانیم مطمئن شویم روشی که پروژه را با آن ستاپ کردهایم آیا به عنوان یک best-practice محسوب میشود یا خیر. در نهایت خروجی را که خواهیم داشت، حجم انبوهی از کدهای boiler ...
روش ذکر فایلهای ایستا در کامپوننتهای جاوا اسکریپتی برنامههای React
React، برای مدیریت پروژهی خود، از Webpack استفاده میکند و در این حالت، کار با فایلهای ایستا مانند تصاویر و قلمهای وب، شبیه به کار با فایلهای CSS خواهد بود؛ یعنی این نوع فایلها را باید در فایلهای جاوا اسکریپتی برنامه، import کرد. به این ترتیب Webpack کار یکی سازی این فایلها را با bundle نهایی تولید شده، انجام میدهد.
یک مثال: فرض کنید ...
قصد داریم اطلاعات یک فرم React را به همراه دو فایل الصاقی به آن، به سمت یک سرور ASP.NET Core ارسال کنیم؛ بطوریکه درصد پیشرفت ارسال فایلها، زمان سپری شده، زمان باقی مانده و سرعت آپلود نیز گزارش داده شوند: پیشنیازها
« بررسی روش آپلود فایلها در ASP.NET Core »
« ارسال فایل و تصویر به همراه دادههای دیگر از طریق jQuery Ajax »
- در مطلب اول، روش دریافت فایلها از کلاینت، در سمت سر ...
یک روش کار کردن با پروژههای SPA، توسعهی مجزای قسمتهای front-end و back-end است. برای مثال پروژهی React را به صورت جداگانهای توسعه میدهیم، پروژهی ASP.NET Core را نیز به همین صورت. هنگام آزمایش برنامه، در یکی دستور npm start را اجرا میکنیم تا وب سرور آزمایشی React، آنرا در آدرس http://localhost:3000 قابل دسترسی کند و در دیگری دستور dotnet watch run را صادر میکنیم تا برنامهی وب ASP.NET Core را بر روی آدرس https://localhost:5001 مهی ...
پیشنیاز این مطلب مطالعه قسمت MobX میباشد. در این مثال قصد داریم یک برنامهی Todo را با استفاده از MobX و React ایجاد کنیم. ایجاد ساختار ابتدایی پروژه برای ساخت پروژه، به خط فرمان مراجعه کرده و با دستور زیر، یک پروژهی react از نوع typescript را ایجاد میکنیم. npx create-react-app todo-mobx --template typescript
cd todo-mobx برای توسعهی این مثال، از محیط توسعهی ...
روشی را که تا اینجا در مورد MobX بررسی کردیم، تا نگارش 5x آنرا پوشش میدهد. در همین زمان، کتابخانهی دیگری به نام mobx-react-lite ارائه شد که به همراه تعدادی Hook مخصوص MobX بود تا با سیستم جدید React که مبتنی بر Hooks است، سازگار شود. این امکانات در حال حاضر با خود کتابخانهی mobx-react 6x یکپارچه شده و به زودی mobx-react-lite منسوخ شده اعلام میشود. البته روش inject/observer بررسی شدهی تا نگارش 5x آن، هنوز هم برقرار است و قرار نی ...
در ادامهی سری کار با MobX، میخواهیم نکاتی را که در سه قسمت قبل مرور کردیم، در قالب یک برنامه پیاده سازی کنیم:
این برنامه از چهار کامپوننت تشکیل شدهاست:
- کامپوننت App که در برگیرندهی سه کامپوننت زیر است:
- کامپوننت BasketItemsCounter: جمع تعداد آیتمهای انتخابی توسط کاربر را نمایش میدهد؛ به همراه دکمهای برای خالی کردن لیست انتخابی.
- کامپوننت ShopItemsList: لیست محصولات موجود در فروشگا ...
تا اینجا دو مثالی را که از Mobx بررسی کردیم (مثال ورود متن و مثال کامپوننت شمارشگر)، به عمد به همراه decoratorهای @ دار آن نبودند. برای مثال در قسمت قبل ، یک کلاس را با یک خاصیت ایجاد کردیم که روش مزین سازی خاصیت value آن را با observable decorator، توسط متد decorate انجام دادیم و این هم یک روش کار با MobX است؛ بدون اینکه نیاز به تنظیمات خاصی را داشته باشد: import { decorate } from "mobx";
class Count {
value = 0;
}
...