مروان محمود3 نشر 15 ديسمبر 2021 أرسل تقرير مشاركة نشر 15 ديسمبر 2021 لدي component تحتوي على state وتقوم بتمريرها لcomponent أخرى على هيئة propsولكن عندما تتغير قيمة الstate و تمريرها لا يحدثrender للكومبونينت <div> <Users users={users}/> </div> 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 شرف الدين حفني نشر 15 ديسمبر 2021 أرسل تقرير مشاركة نشر 15 ديسمبر 2021 هذا غالبًا يحدث بسبب أن عند تغيير الstate تقوم بإضافة أو حذف عناصر إلى المصفوفة, ولكن المصفوفة نفسها لم تتغير فبالتالي لا يتم عمل re-render يجب تمرير عناصر المصفوفة على هيئة مصفوفة جديدة حتى يحدث الre-render ويمكن تحقيق ذلك بسهولة عبر إستخدام الspread operator <div> <Users users={[...users]}/> </div> اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Adnane Kadri نشر 15 ديسمبر 2021 أرسل تقرير مشاركة نشر 15 ديسمبر 2021 هل يمكنك إرفاق كامل شيفرة المكون الأب؟ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
مروان محمود3
لدي component تحتوي على state وتقوم بتمريرها لcomponent أخرى على هيئة propsولكن عندما تتغير قيمة الstate و تمريرها لا يحدثrender للكومبونينت
رابط هذا التعليق
شارك على الشبكات الإجتماعية
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.