English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
keysReact مفيد عند استخدام المكونات المُنشأة ديناميكياً أو عند تغيير القوائم بيد المستخدم. ضبطkeyالقيم ستُبقّى المكونات بمؤشرات فريدة.
نحن نخلق عنصرات Content مع مؤشرات فريدة المعادلة (i) ديناميكياً. وظيفة map ستقوم بإنشاء ثلاثة عناصر. بما أنّ القيم للمفاتيح لكل عنصر يجب أن تكون فريدة، سنقوم بتعيين i كمفتاح للعناصر المُنشأة.
import React from 'react'; class App extends React.Component { constructor() {}} super(); this.state = { data:[ { component: 'First...', id: 1 }, { component: 'Second...', id: 2 }, { component: 'Third...', id: 3 } ] } } render() { return ( <div> <div> {this.state.data.map((dynamicComponent, i) => <Content key = {i} componentData = {dynamicComponent}/>)} </div> </div> ); } } class Content extends React.Component { render() { return ( <div> <div>{this.props.componentData.component}</div> <div>{this.props.componentData.id}</div> </div> ); } } export default App;
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; ReactDOM.render(<App/>, document.getElementById('app'));
للمفتاح الموجود لكل عنصر، سنحصل على النتيجة التالية.
إذا أضفنا أو قمنا بحذف بعض العناصر أو تغيير ترتيب العناصر المُنشأة ديناميكياً في المستقبل، سيستخدم React هذهkeyتتبع كل عنصر باستخدام القيمة.