مروان محمود3 نشر 15 ديسمبر 2021 أرسل تقرير نشر 15 ديسمبر 2021 لدي component تحتوي على state وتقوم بتمريرها لcomponent أخرى على هيئة propsولكن عندما تتغير قيمة الstate و تمريرها لا يحدثrender للكومبونينت <div> <Users users={users}/> </div> 1 اقتباس
0 شرف الدين حفني نشر 15 ديسمبر 2021 أرسل تقرير نشر 15 ديسمبر 2021 هذا غالبًا يحدث بسبب أن عند تغيير الstate تقوم بإضافة أو حذف عناصر إلى المصفوفة, ولكن المصفوفة نفسها لم تتغير فبالتالي لا يتم عمل re-render يجب تمرير عناصر المصفوفة على هيئة مصفوفة جديدة حتى يحدث الre-render ويمكن تحقيق ذلك بسهولة عبر إستخدام الspread operator <div> <Users users={[...users]}/> </div> اقتباس
0 Adnane Kadri نشر 15 ديسمبر 2021 أرسل تقرير نشر 15 ديسمبر 2021 هل يمكنك إرفاق كامل شيفرة المكون الأب؟ اقتباس
0 Mohammad Al Eik نشر 18 ديسمبر 2021 أرسل تقرير نشر 18 ديسمبر 2021 في رياكت لايقوم المتصفح بعملية re-render الا اذا تغيرت ال state فلنفرض لديك state تحوي هذه المصفوفة const [state,setState] = useState(["a","b","c"]); ولنفرض اننا نريد اضافة عنصر اليها ومن ثم جعل react يقوم ب re render نقوم بما يلي : setState([...state,"d"]) العملية التي قمنا بها [...state] تقوم بانشاء مصفوفة جديدة واضافة مصفوفة state اليها , وبما أننا قمنا بانشاء مصفوفة جديدة هنا سوف يستشعر المتصفح بتغير الstate ويقوم ب re render اقتباس
السؤال
مروان محمود3
لدي component تحتوي على state وتقوم بتمريرها لcomponent أخرى على هيئة propsولكن عندما تتغير قيمة الstate و تمريرها لا يحدثrender للكومبونينت
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.