React.js の配列の子の一意のキーを理解する
React で動的テーブルを操作する場合、各子要素に一意のキーを割り当てるのは次のとおりです。効率的なレンダリングに不可欠です。ただし、「配列内の各子には一意の 'key' プロパティが必要です」のようなエラーが発生すると、イライラすることがあります。
次のコード スニペットを考えてみましょう。
render: function() { return ( <table key="table"> <thead key="thead"> <TableHeader columns={columnNames} /> </thead> <tbody key="tbody"> {rows} </tbody> </table> ); }
TableComponent には、キーが割り当てられている場合、rows 変数内の各行要素には一意のキーがありません。これにより、前述のエラーが発生します。
この問題を解決するには、すべての配列の子に一意のキーがあることを確認してください。この場合、各 TableRowItem コンポーネントには独自のキーが必要です:
<TableRowItem key={item.id} data={item} columns={columnNames} />
さらに、各配列の子内の子にも一意のキーが必要です。提供された TableRowItem コンポーネント内:
var TableRowItem = React.createClass({ render: function() { var td = function() { return this.props.columns.map(function(c) { return <td key={this.props.data[c]}>{this.props.data[c]}</td>; }, this); }.bind(this); return ( <tr>{td(this.props.item)}</tr> ) } });
テーブルの更新時に React が最小限の DOM 変更を行えるように、各 td 要素にキーを割り当てる必要があります。配列の子内の各子にキーを提供しないと、更新された要素だけでなく行全体を再レンダリングする必要が生じる可能性があります。
これらのガイドラインに従うことで、動的要素の効率的なレンダリングを保証できます。 React のテーブルでは、配列の子とその要素に一意のキーが割り当てられています。さらに詳しい洞察とベスト プラクティスについては、キーに関する React ドキュメントを参照してください。
以上がReact.js で配列の子に一意のキーを適切に割り当てる方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。