تا اینجا کامپوننت صفحه بندی را به همراه اعمال آن به لیست نمایش داده شده، پیاده سازی کردیم. در ادامه میخواهیم لیست ژانرهای سینمایی را که در فایل fakeGenreService.js تعریف شدهاند: export const genres = [
{ _id: "5b21ca3eeb7f6fbccd471818", name: "Action" },
{ _id: "5b21ca3eeb7f6fbccd471814", name: "Comedy" },
{ _id: "5b21ca3eeb7f6fbccd471820", name: "Thriller" }
];
export function getGenres() {
return genres.filte ...
در طی چند قسمت قصد داریم مثال قسمت قبل را که کار نمایش لیستی از فیلمها را انجام میدهد، تبدیل به یک کامپوننت گرید کنیم که دارای امکانات صفحه بندی، فیلتر کردن و مرتب سازی اطلاعات است. بررسی ساختار کامپوننت Pagination
شبیه به کامپوننت Like که در قسمت قبل ایجاد کردیم، میخواهیم کامپوننت جدید Pagination نیز به طور کامل از اشیاء movie مستقل باشد؛ تا در آینده بتوان از آن در جاهای دیگری نیز استفاده کرد. به همین جهت فایل جدید s ...
در قسمت 6 ، تمرینی را جهت پیاده سازی نمایش لیست یک سری فیلم، انجام دادیم. در اینجا قصد داریم این تمرین را جهت دریافت امتیاز و Like از کاربر، به ازای هر ردیف نمایش داده شده، تکمیل کنیم.
بررسی ساختار کامپوننت Like
در پوشهی components، ابتدا پوشهی جدید common را ایجاد میکنید. در اینجا تمام کامپوننتهای عمومی برنامه را که منحصر به دومین آن برنامه نیستند، قرار میدهیم. کامپوننتهایی را که اگر آنها را به برنامههای ...
کامپوننتها در طول چرخهی عمر خود، از چندین مرحله عبور میکنند. اولین مرحله، mount نام دارد و زمانی رخ میدهد که وهلهای از یک کامپوننت، ایجاد و به DOM افزوده شدهاست. در این حالت تعدادی متد خاص را میتوان به کامپوننت خود اضافه کرد که به صورت خودکار توسط React فراخوانی میشوند. به این متدها Lifecycle Hooks میگویند. در طی مرحلهی mount، سه متد Lifecycle Hooks مخصوص constructor، render و componentDidMount قابل تعریف هستند. React این متدها ر ...
در ادامهی بحث ترکیب کامپوننتها، پس از نمایش لیستی از کامپوننتهای شمارشگر و مقدار دهی عدد آغازین آنها، به همراه مدیریت حذف هر ردیف در قسمت قبل ، اکنون میخواهیم دکمهای را اضافه کنیم تا تمام شمارشگرها را به حالت اول خودشان بازگرداند. برای این منظور دکمهی Reset را به ابتدای المانهای کامپوننت Counters اضافه میکنیم: <button
onClick={this.handleReset}
className="btn btn-primary btn-sm m-2"
>
Reset
</butto ...
تا اینجا ، تنها با یک تک کامپوننت کار کردیم؛ اما یک برنامهی واقعی ترکیبی است از چندین کامپوننت که در نهایت درخت کامپوننتها را در React تشکیل میدهند. به همین جهت در طی چند قسمت، نکات ترکیب کامپوننتها را بررسی میکنیم. ترکیب کامپوننتها
در ادامه، همان برنامهی تا قسمت 5 را که کار نمایش یک counter را انجام میدهد، تکمیل میکنیم. در این برنامه اگر به فایل index.js دقت کنید، کار رندر تک کامپوننت Counter را انجام میده ...
در این قسمت میخواهیم دانستههای 5 قسمت قبل را در طی یک تمرین کنار هم قرار داده و مرور کنیم. برپایی ساختار ابتدایی پروژهی تمرین
ابتدا یک پروژهی جدید React را ایجاد میکنیم: > create-react-app sample-05
> cd sample-05
> npm start
سپس بستههای بوت استرپ و font-awesome را نیز در آن نصب میکنیم: > npm install --save bootstrap
> npm install --save font-awesome
در اد ...
در قسمت قبل ، اولین کامپوننت React خود را ایجاد کردیم و سپس جزئیات بیشتری از عبارات JSX را مانند نحوهی تعریف المانهای مختلف و تنظیم مقادیر ویژگیهای آنرا بررسی کردیم. در ادامهی همان مثال، در این قسمت، نحوهی نمایش لیستها و تعریف و مدیریت رویدادها را در کامپوننتهای React، بررسی میکنیم.
نحوهی رندر لیستی از اشیاء در کامپوننتهای React
فرض کنید میخواهیم لیستی از تگها را رندر کنیم. برای این منظور ابتدا دادهه ...
برپایی پروژهی ایجاد اولین کامپوننت React
در اینجا برای بررسی مقدماتی کامپوننتها، یک پروژهی جدید React را ایجاد میکنیم. > create-react-app sample-04
> cd sample-04
> npm start
اکنون در ادامه اولین کاری را که انجام میدهیم، نصب توئیتر بوت استرپ 4 است تا بتوانیم توسط امکانات آن، ظاهر بهتری را برای برنامهی تهیه شده تدارک ببینیم. برای این منظور پس از باز کردن پوشهی اصلی برنامه توسط VSCode، دکمههای ` ...
در قسمت قبل ، بخشی از تازههای ES6 را که بیشتر در برنامههای مبتنی بر React مورد استفاده قرار میگیرند، بررسی کردیم. در این قسمت نیز سایر موارد مهم باقیمانده را بررسی میکنیم.
در اینجا نیز برای بررسی ویژگیهای جاوا اسکریپت مدرن، یک پروژهی جدید React را ایجاد میکنیم. > create-react-app sample-03
> cd sample-03
> npm start
سپس تمام کدهای داخل index.js را نیز حذف میکنیم. اکنون تمام کدهای خالص جاوا اسکری ...