将数组中的位置指定为反应键?

时间:2017-05-05 00:40:07

标签: javascript arrays reactjs react-native

我有一个由不同字符串组成的数组。我想通过它进行映射并在React中显示它。当两个字符串相同时,React不喜欢它。

我的问题是:我有没有办法通过数组映射并将数组中元素的位置(0,1,2,3 ..)作为键?我不确定如何访问它?我可以吗?

let renderthis = this.props.myreducer.somearray.map((element) =>
  <span key={what can I put here?}>{element} </span>
);

我尝试了这个顺便说一句,但它不起作用:

let renderthis = this.props.myreducer.somearray.map((element, i) =>
  <span key={i}>{element} </span>
);
  

警告:flattenChildren(...):遇到两个孩子一样   键,.1:$afaf。子键必须是唯一的;当两个孩子分享一个   键,只会使用第一个孩子。

1 个答案:

答案 0 :(得分:1)

Array.prototype.map回调接受第二个参数作为项索引。

这意味着如果您只需要每个元素集合中的唯一键,并且您没有任何其他自然独特的值,那么您可以这样做:

let renderthis = this.props.myreducer.somearray.map((element, i) =>
  <span key={i}>{element} </span>
);