اذهب إلى المحتوى

السؤال

نشر

أقوم بإنشاء مكون React يقبل مصدر بيانات JSON وينشئ جدولًا قابلًا للفرز.
يحتوي كل صف من صفوف البيانات الديناميكية على مفتاح فريد مخصص له ولكن ما زلت أتلقى خطأ:

Each child in an array should have a unique "key" prop.
Check the render method of TableComponent.

هذا هو مكون الجدول

<table>
  <thead key="thead">
    <TableHeader columns={columnNames}/>
  </thead>
  <tbody key="tbody">
    { rows }
  </tbody>
</table>

مكون TableHeader عبارة عن صف واحد وله أيضًا مفتاح فريد مخصص له.

يتم إنشاء كل صف في الصفوف من مكون بمفتاح فريد:

<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>
    )
  }
});

 

Recommended Posts

  • 0
نشر

مرحباً بك: 
أولاً لديك خطأ في السطر التالي

<tr>{ td(this.props.item) }</tr>

حيث لا يوجد خاصية اسمها item هنا 
 

<TableRowItem key={item.id} data={item} columns={columnNames}/>

أما بالنسبة للمشكلة فقد يكون هناك key مكرر من ال json نفسه الرجاء قم بمراجعة السطر الثاني لكل صف وتأكد أنهم مختلفين عن بعضهم

this.props.data[c]


 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...