تعرف على كيفية مساعدة Render Props في إنشاء تطبيق React
النمط الشائع المستخدم لمشاركة الحالة بين المكونات هو استخدامchildren
دعم.
داخل مكون JSX يمكنك تقديم{this.props.children}
الذي يقوم تلقائيًا بحقن أي JSX تم تمريره في المكون الرئيسي كأبناء:
class Parent extends React.Component {
constructor(props) {
super(props)
this.state = {
/*...*/
}
}
render() {
return <div>{this.props.children}</div>
}
}
const Children1 = () => {}
const Children2 = () => {}
const App = () => (
<Parent>
<Children1 />
<Children2 />
</Parent>
)
ومع ذلك ، توجد مشكلة هنا: لا يمكن الوصول إلى حالة المكون الرئيسي من الأطفال.
لتتمكن من مشاركة الحالة ، تحتاج إلى استخدام مكون prop ، وبدلاً من تمرير المكونات كأطفال للمكوِّن الأصلي ، يمكنك تمرير وظيفة تقوم بتنفيذها بعد ذلك{this.props.children()}
. يمكن للوظيفة قبول الوسائط:
class Parent extends React.Component {
constructor(props) {
super(props)
this.state = { name: 'Flavio' }
}
render() {
return <div>{this.props.children(this.state.name)}</div>
}
}
const Children1 = props => {
return <p>{props.name}</p>
}
const App = () => <Parent>{name => <Children1 name={name} />}</Parent>
بدلاً من استخدام ملفchildren
prop ، الذي له معنى محدد جدًا ، يمكنك استخدام أي خاصية ، وبالتالي يمكنك استخدام هذا النمط عدة مرات على نفس المكون:
class Parent extends React.Component {
constructor(props) {
super(props)
this.state = { name: 'Flavio', age: 35 }
}
render() {
return (
<div>
<p>Test</p>
{this.props.someprop1(this.state.name)}
{this.props.someprop2(this.state.age)}
</div>
)
}
}
const Children1 = props => {
return <p>{props.name}</p>
}
const Children2 = props => {
return <p>{props.age}</p>
}
const App = () => (
<Parent
someprop1={name => <Children1 name={name} />}
someprop2={age => <Children2 age={age} />}
/>
)
ReactDOM.render(<App />, document.getElementById(‘app’))
تحميل مجانيكتيب رد الفعل
المزيد من البرامج التعليمية للتفاعل:
- مثال على تطبيق بسيط من React: جلب معلومات مستخدمي GitHub عبر واجهة برمجة التطبيقات
- أنشئ عدادًا بسيطًا باستخدام React
- إعداد VS Code لتطوير React
- كيفية تمرير الدعائم إلى مكون فرعي عبر React Router
- أنشئ تطبيقًا باستخدام Electron و React
- البرنامج التعليمي: أنشئ جدول بيانات باستخدام React
- خارطة الطريق لتعلم React
- تعرف على كيفية استخدام Redux
- الشروع في العمل مع JSX
- المكونات المصممة
- مقدمة إلى Redux Saga
- مقدمة إلى React Router
- مقدمة إلى React
- مكونات رد الفعل
- DOM الظاهري
- رد فعل الأحداث
- دولة رد الفعل
- رد فعل الدعائم
- جزء رد الفعل
- واجهة برمجة تطبيقات سياق React
- تفاعل PropTypes
- مفاهيم التفاعل: تصريحية
- React: كيفية إظهار مكون مختلف عند النقر
- كيفية التكرار داخل React JSX
- الدعائم مقابل الحالة في React
- هل يجب عليك استخدام jQuery أم React؟
- ما مقدار JavaScript الذي تحتاج إلى معرفته لاستخدام React؟
- مقدمة لغاتسبي
- كيفية الإشارة إلى عنصر DOM في React
- تدفق البيانات أحادي الاتجاه في React
- تفاعل مكونات الترتيب الأعلى
- تفاعل أحداث دورة الحياة
- مفهوم التفاعل: الثبات
- مفهوم التفاعل: النقاء
- مقدمة في React Hooks
- مقدمة حول إنشاء التطبيق التفاعلي
- مفهوم التفاعل: التركيب
- رد الفعل: العرض مقابل مكونات الحاوية
- تقسيم الكود في React
- عرض جانب الخادم باستخدام React
- كيفية تثبيت React
- CSS في React
- استخدام SASS في React
- التعامل مع النماذج في React
- رد فعل StrictMode
- تفاعل البوابات
- رد فعل الدعائم التقديم
- اختبار مكونات React
- كيفية تمرير معامل إلى معالجات الأحداث في React
- كيفية معالجة الأخطاء في React
- كيفية إرجاع عناصر متعددة في JSX
- التصيير الشرطي في React
- React ، كيفية نقل الدعائم إلى المكونات الفرعية
- كيفية الحصول على قيمة عنصر الإدخال في React
- كيفية استخدام خطاف useState React
- كيفية استخدام الخطاف useCallback React
- كيفية استخدام الخطاف useEffect React
- كيفية استخدام الخطاف useMemo React
- كيفية استخدام خطاف useRef React
- كيفية استخدام الخطاف useContext React
- كيفية استخدام خطاف useReducer React
- كيفية توصيل تطبيق React بخلفية على نفس الأصل
- البرنامج التعليمي Reach Router
- كيفية استخدام أدوات مطور React
- كيف تتعلم React
- كيفية تصحيح أخطاء تطبيق React
- كيفية عرض HTML في React
- كيفية إصلاح الخطأ "seriouslySetInnerHTML" لا يتطابق مع الخطأ في React
- كيف أصلحت مشكلة في حالة نموذج تسجيل الدخول إلى React والملء التلقائي للمتصفح
- كيفية تكوين HTTPS في تطبيق React على المضيف المحلي
- كيفية إصلاح الخطأ "لا يمكن تحديث مكون أثناء عرض مكون مختلف" في React
- هل يمكنني استخدام خطافات React داخل شرطي؟
- استخدام useState مع كائن: كيفية التحديث
- كيفية تحريك الكتل البرمجية باستخدام React و Tailwind
- React ، ركز عنصرًا في React عند إضافته إلى DOM
- رد فعل وتحرير النص عند النقر المزدوج