Javascript React/JSX错误:任何键控对象的使用都应该包装在React.addons中

Javascript React/JSX错误:任何键控对象的使用都应该包装在React.addons中,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,整个错误是: “警告:数组或迭代器中的每个子级都应具有唯一的\“键\”属性。请检查RenderArray的渲染方法” 守则: /* jshint esnext: true */ class RenderArray extends React.Component { constructor() { super(); this.state = {myArray : ""}; } componentDidMount() { console.log(this.s

整个错误是:

“警告:数组或迭代器中的每个子级都应具有唯一的\“键\”属性。请检查RenderArray的渲染方法”

守则:

/* jshint esnext: true */

class RenderArray extends React.Component {

  constructor() {
    super();
    this.state = {myArray : ""};
  }

  componentDidMount() {
    console.log(this.state.myArray);
  }

  componentWillMount () {
    this.setState({
      myArray: ['one', 'two', 'three', 'four', 'five']
    });
  }


  render () {

    showEl = this.state.myArray.map(function(i) {
      return <li>{i}</li>;
    })


    return (
       <div className="jumbotron container">
          <ul>
            {showEl}
          </ul>
       </div>
    );
  }
};
/*jshint-esnext:true*/
类RenderArray扩展了React.Component{
构造函数(){
超级();
this.state={myArray:”“};
}
componentDidMount(){
log(this.state.myArray);
}
组件将安装(){
这是我的国家({
myArray:['1','2','3','4','5']
});
}
渲染(){
showEl=this.state.myArray.map(函数(i){
返回
  • {i}
  • ; }) 返回(
      {showEl}
    ); } };
    建议?

    希望,这会有所帮助

     showEl = this.state.myArray.map(function(i) {
      return <li key={i}>{i}</li>;
    })
    
    showEl=this.state.myArray.map(函数(i){
    返回
  • {i}
  • ; })

    另外,检查每个重复元素的此链接,react需要一个唯一的键。因此,在您的情况下,类似于:

    showEl = this.state.myArray.map(function(i) {
      return <li key={i}>{i}</li>;
    })
    
    showEl=this.state.myArray.map(函数(i){
    返回
  • {i}
  • ; })
    这不是一个错误,而是一个警告,它准确地告诉你该怎么做。在数组的子级上添加一个
    道具

    showEl = this.state.myArray.map(function(i) {
      return <li key={i}>{i}</li>;
    })
    
    showEl=this.state.myArray.map(函数(i){
    返回
  • {i}
  • ; })

    如果有机会,请阅读。

    我给你的答案是正确的,因为你的答案与其他两个答案一样正确,但你是第一个回答。谢谢多亏了另外两个人。