احتمالاً نام ویژگی جدید React یعنی hook را شنیدهاید. با این ویژگی میتوان از state و امکانات دیگر React در مؤلفههای مبتنی بر تابع استفاده کرد.
جملهای از مستندات React:
In the longer term, we expect Hooks to be the primary way people write React components.
در این سؤال از شما میخواهیم دو قلاب سفارشی! (custom hook) ساده را پیادهسازی کنید.
پروژه اولیه
پروژه اولیه را از اینجا دانلود کنید. ساختار فایلهای این پروژه به صورت زیر است.
راهاندازی پروژه
برای اجرای پروژه، باید NodeJS
و npm
(یا pnpm
) را از قبل نصب کرده باشید.
- در پوشهی
simple-hooks
، دستورnpm install
را برای نصب نیازمندیها اجرا کنید.- نکته: برای نصب سریعتر از
pnpm install
استفاده کنید.
- نکته: برای نصب سریعتر از
- در همین پوشه، دستور
npm start
را برای راهاندازی پروژه اجرا کنید. - با مراجعه به
http://localhost:3000/
میتوانید نتیجه را ببینید. - توجه کنید که در این سؤال اجرای پروژهی اولیه با خطا مواجه میشود و پس از پیادهسازی قسمتهای مربوطه میتوانید نتیجهی نهایی را مشاهده کنید.
جزئیات
موارد زیر را در فایل hooks.js
پیادهسازی کنید.
۱. شمارندهی حلقوی
این قلاب مقدار شروع و پایان شمارنده را به عنوان ورودی میگیرد و یک آرایه شامل مقدار شمارنده و تابعی برای شمردن برمیگرداند. تابع count
باید مقدار شمارنده را یک واحد اضافه کند. در صورتی که مقدار شمارنده برابر با finish
باشد با شمارش بعدی مقدار به start
تغییر میکند.
مثالی از نحوهی استفاده که در پروژهی اولیه نیز آمده است:
۲. پشته
این قلاب یک پشته را پیادهسازی میکند و در خروجی یک شیء شامل مقادیر پشته (آرایهی stack
)، تابع push
برای افزودن عنصر به پشته و تابع pop
برای حذف آخرین عنصر را برمیگرداند.
مثالی از نحوهی استفاده که در پروژهی اولیه نیز آمده است:
نحوهی عملکرد مثالهای بالا را در شکل زیر میبینید.
نکات
- هر کدام از این دو hook را که پیادهسازی کنید، نمرهی آن را خواهید گرفت.
- پس از پیادهسازی، فایل
hooks.js
را ارسال کنید.
ارسال پاسخ برای این سؤال