انتقل إلى محتوى الدرس

Updating Nested State Objects تحديث الكائنات المتداخلة بنقاء

تعلّم لماذا يفشل التعديل المباشر لكائنات الحالة مع فحص Object.is في React، وكيف تنشئ نسخاً محدثة بمعامل الانتشار والمفاتيح المحسوبة والكائنات المتداخلة.
3 صفوف تعليمية
ReactJS
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

لتحديث خاصية داخل كائن متداخل بنقاء كامل في React القياسية، أنشئ نسخة جديدة لكل مستوى على مسار التغيير بدءاً من الكائن الأب وصولاً إلى الكائن الفرعي الهدف كما في المثال التفاعلي التالي:

الصف 2 كود برمجي
HTML
import { useState } from 'react';
function PrefsBox() {
  const [cfg, setCfg] = useState({
    name: 'Studio',
    ui: { compact: false },
  });
  const ui = { ...cfg.ui, compact: !cfg.ui.compact };
  const flip = () => setCfg({ ...cfg, ui });
  return <button onClick={flip}>Toggle UI</button>;
}
الصف 3 ملاحظة هامة