اذهب إلى المحتوى
  • 0

react لا تقوم بعمل render عند تغيير الprops

مروان محمود3

السؤال

لدي component تحتوي على state وتقوم بتمريرها لcomponent أخرى على هيئة propsولكن عندما تتغير قيمة الstate و تمريرها لا يحدثrender للكومبونينت 

<div>
  <Users users={users}/> 
</div>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

هذا غالبًا يحدث بسبب أن عند تغيير الstate تقوم بإضافة أو حذف عناصر إلى المصفوفة, ولكن المصفوفة نفسها لم تتغير فبالتالي لا يتم عمل re-render 

يجب تمرير عناصر المصفوفة على هيئة مصفوفة جديدة حتى يحدث الre-render ويمكن تحقيق ذلك بسهولة عبر إستخدام الspread operator 

<div>
  <Users users={[...users]}/>
</div>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

في رياكت لايقوم المتصفح بعملية re-render الا اذا تغيرت ال state فلنفرض لديك state تحوي هذه المصفوفة

const [state,setState] = useState(["a","b","c"]);

ولنفرض اننا نريد اضافة عنصر اليها ومن ثم جعل react يقوم ب re render  نقوم بما يلي :

setState([...state,"d"])

العملية التي قمنا بها

[...state]

تقوم بانشاء مصفوفة جديدة واضافة مصفوفة state اليها , وبما أننا قمنا بانشاء مصفوفة جديدة هنا سوف يستشعر المتصفح بتغير الstate ويقوم ب re render

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...