在 React.js 中,數組中的每個子元素都必須有一個唯一的 key 屬性。這個鍵幫助 React 有效地識別元素並追蹤它們的變化。
建構接受資料來源和渲染表的動態元件時,必須為每個子元素分配唯一的鍵。如果不這樣做,將導致錯誤訊息,指示每個孩子都需要一個唯一的 key prop。
考慮以下產生可排序表的React 組件:
<table key="thead"> <TableHeader columns={columnNames} /> <tbody key="tbody"> { rows } </tbody> </table>
rows 中的每一行都是使用帶有key 的組件構造的:
<TableRowItem key={item.id} data={item} columns={columnNames} />
出現key 錯誤因為每個
<TableRowItem key={item.id} data={item} columns={columnNames}> {this.props.columns.map(function(c) { // Add a key here: key={item.id} return <td {this.props.data[c]}></td>; }, this);} </TableRowItem>
唯一鍵對於 React 的最佳化策略至關重要。透過為每個子項提供一個鍵,React 可以更有效地追蹤變更。如果沒有鍵,React 會將每個變更視為影響整個數組,從而導致整個清單不必要的重新渲染,這可能會影響效能。
在前面提供的範例中,每一行都應該有一個鍵,以及每個
<TableRowItem key={item.id} data={item} columns={columnNames}> {this.props.columns.map(function(c) { // Add a key to each <td> element: key={item.id} return <td key={item.id}>{this.props.data[c]}</td>; }, this);} </TableRowItem>
透過為行和單一儲存格指派唯一鍵,React 可以更有效地處理更新,確保表格元件的最佳效能。
以上是為什麼唯一鍵對於 React 中數組子級的高效渲染至關重要?的詳細內容。更多資訊請關注PHP中文網其他相關文章!