首頁 >web前端 >js教程 >如何解決嵌套 React 陣列中的唯一鍵錯誤?

如何解決嵌套 React 陣列中的唯一鍵錯誤?

DDD
DDD原創
2024-12-28 09:31:10573瀏覽

How to Solve Unique Key Errors in Nested React Arrays?

了解 React.js 中數組子項的唯一鍵

問題:

問題:

A React負責使用巢狀數組建立可排序表的元件遇到錯誤,指示缺少唯一鍵

分析:

要解決此問題,請確保數組中的每個直接子元素以及這些子元素中包含的每個元素都具有唯一的關鍵支柱。這使得 React 在渲染過程中僅有效更新 DOM 的必要部分。

解決方案:
{
  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>
    );
  }
}

在提供的程式碼中,TableRowItem 元件正在嘗試渲染子元素而不指定金鑰。若要修正此問題,請為 TableRowItem 中的每個子 td 元素指派唯一鍵,如下所示:

範例:
const ExampleComponent = React.createClass({
  render: function () {
    const infoData = this.props.info;
    return (
      <div>
        {infoData.map((object, i) => {
          return (
            <div className={"row"} key={i}>
              {[
                object.name,
                // Assign unique key to <b> element
                <b className="fosfo" key={i}>
                  { " " }
                  {object.city}{ " " }
                </b>,
                object.age,
              ]}
            </div>
          );
        })}
      </div>
    );
  },
});

考慮改編自 @Chris回應的以下範例,這說明了嵌套中鍵的重要性元素:

附加說明:

始終為數組結構中的直接子元素分配唯一的鍵至關重要。這使得 React 能夠以最佳方式僅更新必要的 DOM 元素,從而提高效能和渲染效率。

  • 參考:
[React 文件:鍵]( https://reactjs.org/docs/lists-and-keys.html)

以上是如何解決嵌套 React 陣列中的唯一鍵錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn