Adam Ebrahim نشر 12 أبريل 2021 أرسل تقرير نشر 12 أبريل 2021 كيف أقوم بتطبيق lifecycle hooks في functional component، في Class Component يمكنكي إستخدام الدوال مثل: componentWillUnmount componentDidMount componentDidUpdate shouldComponentUpdate هل يمكن تطبيق نفس ما تفعله الدوال السابقة في functional component بأي طريقة مثل useEffect أم يجب علي أن أستعمل Class Component؟ اقتباس
1 Mohammed Saber6 نشر 12 أبريل 2021 أرسل تقرير نشر 12 أبريل 2021 يمكنك تنفيذ هذا عن طريق استخدام useEffect hook componentDidMount useEffect(() => { // الكود البرمجي هنا }, []); // هنا المصفوفة يجب أن تكون فارغة componentDidUpdate useEffect(() => { // الكود البرمجي هنا }, [a, b]); //هنا المصفوفة يجب أن تحتوي على المتغيرات التي بناء عليها سيتم عمل تحديث المتغيرا ت هي props - state componentWillUnmount useEffect(() => { // الكود البرمجي هنا return () => { // قم باستخدام الدالة // الأشياء التي تريد تنفيذها عند الخروج من المكون } }, [a, b]); //هنا المصفوفة يجب أن تحتوي على المتغيرات التي بناء عليها سيتم عمل تحديث المتغيرا ت هي props - state قم بإحاطة المكون الخاص بك ب React.memo حسب التوثيق الرسمي const Button = React.memo((props) => { // المكون الخاص بك }); 2 اقتباس
0 عبدالله عبدالرحمن11 نشر 13 أبريل 2021 أرسل تقرير نشر 13 أبريل 2021 useEffect(() => { alert('سيتم الإستدعاء بعد كل ظهور '); }); useEffect(() => { alert('سيتم الإستدعاء بعد الظهور الأول فقط'); }, []); useEffect(() => { alert('سيتم الإستدعاء بعد أن تتغير قيمة أحد المتغيرين اللذين في المصفوفة'); }, [a, b]); في الإستدعاء الثالث يمكنك إضافة متغير واحد على الأقل أو أكثر في المصفوفة هناك أيضا ما يسمى بدالة التنظيف وتكون بعد return في دالة useEffect وفي دالة التنظيف تقوم بإزالة وتنظيف أشياء مثل eventListener أو setTimeOut بعد التخلص من المكون ودالة التنظيف هي مثل دالة ComponentWillUnmount useEffect(() => { document.addEventListener('keydown', handleKeydown); // إضافة مستمع عندالضغط على زر return () => document.removeEventListener('keydown', handleKeydown); // دالة التنظيف وتقوم بإزالة المستمع السابق }); اقتباس
السؤال
Adam Ebrahim
كيف أقوم بتطبيق lifecycle hooks في functional component، في Class Component يمكنكي إستخدام الدوال مثل:
componentWillUnmount
componentDidMount
componentDidUpdate
shouldComponentUpdate
هل يمكن تطبيق نفس ما تفعله الدوال السابقة في functional component بأي طريقة مثل useEffect أم يجب علي أن أستعمل Class Component؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.