میخواهیم به برنامهی لیست فیلمهایی که تا این قسمت تکمیل کردیم، امکانات جدیدی را مانند ورود به سیستم، خروج از آن، کار با JWT، فراخوانی منابع محافظت شدهی سمت سرور، نمایش و یا مخفی کردن المانهای صفحه بر اساس سطوح دسترسی کاربر و همچنین محافظت از مسیرهای مختلف تعریف شدهی در برنامه، اضافه کنیم.
برای قسمت backend، از همان برنامهی تکمیل شدهی قسمت قبل استفاده میکنیم که به آن تولید مقدماتی JWTها نیز ...
همان مثال backend قسمت 22 را با افزودن وب سرویسهایی برای قسمتهای نمایش لیست فیلمها، ژانرها و سایر صفحات اضافه شدهی به برنامهی تکمیل شدهی تا قسمت 21 ، توسعه میدهیم. کدهای کامل آن، به علت شباهت و یکی بودن نکات آن با مطلب 22، در اینجا تکرار نخواهند شد و میتوانید کل پروژهی آنرا از پیوست انتهای بحث دریافت کنید. سپس فایل dotnet_run.bat آنرا اجرا کنید تا در آدرس https://localhost:5001 قابل دسترسی شود.
افزودن سرویس httpS ...
پس از آشنایی با مقدمات کار با Axios، در این قسمت امکانات پیشرفتهتر آنرا مانند خطایابی سراسری، interceptors و ... بررسی میکنیم.
به روز رسانیهای خوشبینانهی UI
پیاده سازی اعمال CRUD توسط Axios در قسمت قبل ، به همراه یک مشکل مهم است: اعمال کار با شبکه و سرور، زمانبر هستند و مدتی طول میکشد تا پاسخ عملیات از سمت سرور دریافت شود. در این بین اگر خطایی رخ دهد، مابقی کدهای نوشته شدهی در متدهایی مانند Update و Dele ...
پس از نصب Axios در قسمت قبل ، جزئیات کار با آنرا در این بخش مرور میکنیم. دریافت اطلاعات از سرور، توسط Axios
- ابتدا به پوشهی sample-22-backend ای که در قسمت قبل ایجاد کردیم، مراجعه کرده و فایل dotnet_run.bat آنرا اجرا کنید، تا endpointهای REST Api آن، قابل دسترسی شوند. برای مثال باید بتوان به مسیر https://localhost:5001/api/posts در مرورگر دسترسی یافت (و یا همانطور که عنوان شد، از آدرس https://jsonplaceholder.typic ...
هر برنامهی وب، دارای یک frontend و یک backend است. تا اینجا، تمام تمرکز این سری، بر روی پیاده سازی frontend بود و هیچکدام از برنامههایی را که تکمیل کردیم، تبادل اطلاعاتی را با وب سرویسهای backend نداشتند؛ اما به عنوان یک توسعه دهندهی React، نیاز است با نحوهی ارتباط با سرور آشنایی داشت که در طی چند قسمت به آن میپردازیم.
ایجاد برنامهی backend ارائه دهندهی REST API
در اینجا یک برنامهی سادهی ASP.NET Core Web ...
پس از فراگیری اصول کار کردن با فرمها در React، اکنون میخواهیم چند فرم جدید را برای تمرین بیشتر، به برنامهی نمایش لیست فیلمها اضافه کنیم؛ مانند فرم ثبت نام، فرمی برای ثبت و یا ویرایش فیلمها و یک فرم جستجوی سریع در لیست فیلمهای موجود.
تمرین 1 - ایجاد فرم ثبت نام
میخواهیم به برنامه، فرم ثبت نام را که حاوی سه فیلد نام کاربری، کلمهی عبور و نام است، اضافه کنیم. نام کاربری باید از نوع ایمیل باشد. بنابراین اع ...
تا اینجا اگر به کدهای کامپوننت فرم لاگینی که ایجاد کردیم دقت کنید، تبدیل شدهاست به محلی برای انباشت حجم قابل توجهی از کد. به این ترتیب اگر قرار باشد فرمهای جدیدی را تعریف کنیم، نیاز خواهد بود قسمتهای عمدهای از این کدها را در هر جایی تکرار کنیم. بنابراین جهت کاهش مسئولیتهای آن، نیاز است بازسازی کد (refactoring) قابل ملاحظهای بر روی آن صورت گیرد. تشخیص قسمتهایی که قابلیت استخراج از کامپوننت لاگین را دارند
قصد داریم ...
تمام فرمهای تعریف شده، نیاز به اعتبارسنجی اطلاعات وارد شدهی توسط کاربران خود را دارند. ابتدا اعتبارسنجی اطلاعات را در حین ارسال فرم و سپس آنرا همزمان با ورود اطلاعات، بررسی میکنیم. اصول کلی طراحی یک اعتبارسنج ساده
در قسمت قبل ، تمام اطلاعات فرم لاگین را درون شیء account خاصیت state قرار دادیم. در اینجا نیز شبیه به چنین شیءای را برای ذخیره سازی خطاهای اعتبارسنجی فیلدهای فرم، تعریف میکنیم: class LoginForm extends ...
تقریبا تمام برنامهها نیاز دارند فرمهای مخصوصی را داشته باشند. به همین جهت در این قسمت، برنامهی نمایش لیست فیلمها را که تا این مرحله تکمیل کردیم، با افزودن تعدادی فرم بهبود میبخشیم؛ مانند فرم لاگین، فرم ثبت نام، فرمی برای ثبت و ویرایش فیلمها و یک فرم جستجوی سریع در لیست فیلمهای موجود. ایجاد فرم لاگین
فرم لاگینی را که به برنامهی نمایش لیست فیلمهای تکمیل شدهی تا قسمت 17 ، اضافه خواهیم کرد، یک فرم بوت استرپی ...
به عنوان تمرین، همان برنامهی طراحی گریدی را که تا قسمت 14 تکمیل کردیم، با معرفی مسیریابی بهبود خواهیم بخشید. برای این منظور یک NavBar بوت استرپی را به بالای صفحه اضافه میکنیم که دارای سه لینک movies ،customers و rentals است. به همین جهت نیاز به دو کامپوننت مقدماتی customers و rentals نیز وجود دارد که تنها یک h1 را نمایش میدهند. به علاوه منوی راهبری برنامه نیز باید بر اساس مسیر فعال جاری، با رنگ مشخصی، فعال بودن مسیریابی گزینهی انتخا ...