相关疑难解决方法(0)

了解React.js中数组子项的唯一键

我正在构建一个React组件,它接受JSON数据源并创建一个可排序的表.
每个动态数据行都有一个分配给它的唯一键,但我仍然收到以下错误:

数组中的每个子节点都应该具有唯一的"键"支柱.
检查TableComponent的render方法.

我的TableComponentrender方法返回:

<table>
  <thead key="thead">
    <TableHeader columns={columnNames}/>
  </thead>
  <tbody key="tbody">
    { rows }
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

TableHeader组件是单行,并且还具有分配给它的唯一键.

每个rowin rows都是使用具有唯一键的组件构建的:

<TableRowItem key={item.id} data={item} columns={columnNames}/>
Run Code Online (Sandbox Code Playgroud)

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>
    )
  }
});
Run Code Online (Sandbox Code Playgroud)

是什么导致了唯一的关键道具错误?

javascript reactjs

549
推荐指数
9
解决办法
48万
查看次数

深度嵌套的对象数组未呈现

我有一个相当嵌套的数组,它是通过从 Firebase 检索数据、修改它并将其作为道具传递来形成的。数组的结构是 在此处输入图片说明

每个数组(2) 的值几乎都采用相同的格式。我正在尝试渲染来自每个 'array(2)'[0] 对象的 2 个月 = 1、轻度 = 3 等数据点以及来自 'array(2)' 1的数据点,例如 RWJ = 2.5, (它正上方的 0 对象是完全相同的数据格式)。我尝试首先使用以下方法呈现密钥“RWJ” 在此处输入图片说明

当我尝试执行此操作时,没有任何渲染。但是,当我调用一个将“thirdData”记录到控制台的简单函数时,它会准确打印出我正在寻找的内容。

在此处输入图片说明 在此处输入图片说明

thirdData = (value) => {
  console.log(value)
}
Run Code Online (Sandbox Code Playgroud)

非常迷失,因为这里发生了什么,所以任何帮助将不胜感激。此外,当我使用一个更简单的修改过的 Firebase 数据数组时,它会呈现,所以我很确定在组件呈现后传递的道具没有问题。

javascript ecmascript-6 reactjs

5
推荐指数
1
解决办法
1194
查看次数

标签 统计

javascript ×2

reactjs ×2

ecmascript-6 ×1