Javascript 不能';无法消除地图中唯一键的反应警告

Javascript 不能';无法消除地图中唯一键的反应警告,javascript,reactjs,Javascript,Reactjs,我下面的代码有什么问题?我有key={obj.\u id},我希望我不会看到警告,但我仍然得到它 警告:数组或迭代器中的每个子级都应具有唯一的“键” 道具请检查渲染方法 renderlitiems(项目){ 返回( {map(项目,obj=> {obj.display_name} 最后一次编辑时间为{moment(obj.updated_at).format('DD-MMM-YYYY')} 编辑 this.setState({openconfirmationmodel:true,selected

我下面的代码有什么问题?我有key={obj.\u id},我希望我不会看到警告,但我仍然得到它

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

renderlitiems(项目){
返回(
{map(项目,obj=>
{obj.display_name}

最后一次编辑时间为{moment(obj.updated_at).format('DD-MMM-YYYY')}

编辑 this.setState({openconfirmationmodel:true,selectedItemId:obj.\u id,selectedItemName:obj.display\u name})大于Delete )} ) }
我认为您在编写一些错误的代码。您应该在数组上应用函数“map”

试试这个:

renderListItems(items){
        return(
            <div>
            {items.map(obj =>
                <div key={obj._id} className="panel-body panel-row">
                    <div  className="row">
                        <div className="col-md-12">
                            <h2 className="title">{obj.display_name}</h2>
                            <p className="edited">Last edited on {moment(obj.updated_at).format('DD MMM YYYY')}</p>
                            <div className="actions_wrap">
                                <Link to={`/mall-promospace/edit/${obj._id}`}>Edit</Link>
                                <a onClick={()=> this.setState({openConfirmationModal:true, selectedItemId: obj._id, selectedItemName: obj.display_name})}>Delete</a>
                            </div>
                        </div>
                    </div>
                </div>
            )}
            </div>
        )
    }
renderlitiems(项目){
返回(
{items.map(obj=>
{obj.display_name}

最后一次编辑时间为{moment(obj.updated_at).format('DD-MMM-YYYY')}

编辑 this.setState({openconfirmationmodel:true,selectedItemId:obj.\u id,selectedItemName:obj.display\u name})大于Delete )} ) }
我认为您在编写一些错误的代码。您应该在数组上应用函数“map”

试试这个:

renderListItems(items){
        return(
            <div>
            {items.map(obj =>
                <div key={obj._id} className="panel-body panel-row">
                    <div  className="row">
                        <div className="col-md-12">
                            <h2 className="title">{obj.display_name}</h2>
                            <p className="edited">Last edited on {moment(obj.updated_at).format('DD MMM YYYY')}</p>
                            <div className="actions_wrap">
                                <Link to={`/mall-promospace/edit/${obj._id}`}>Edit</Link>
                                <a onClick={()=> this.setState({openConfirmationModal:true, selectedItemId: obj._id, selectedItemName: obj.display_name})}>Delete</a>
                            </div>
                        </div>
                    </div>
                </div>
            )}
            </div>
        )
    }
renderlitiems(项目){
返回(
{items.map(obj=>
{obj.display_name}

最后一次编辑时间为{moment(obj.updated_at).format('DD-MMM-YYYY')}

编辑 this.setState({openconfirmationmodel:true,selectedItemId:obj.\u id,selectedItemName:obj.display\u name})大于Delete )} ) }
items.map((obj,i)=>)
items.map((obj,i)=>)

当然,第一个问题是“您确定您的_id字段是唯一的吗?”这段代码本身看起来很好,因此错误可能是由不同的迭代器生成的,也可能是两个或多个id重复了。@spokedcarp是的。我没有重复的ID。渲染方法是什么样子的?也许没什么错。。。但是错误确实指向了与问题中不同的方法…错误消息似乎不完整…应该是…
…检查…
的渲染方法。当然,第一个问题是“您确定您的_id字段是唯一的吗?”此代码本身看起来很好,因此,要么错误是由不同的迭代器生成的,要么两个或多个ID被复制了。@spheredcarp yes。我没有重复的ID。渲染方法是什么样子的?也许没什么错。。。但是错误确实指向了与问题中的方法不同的方法…错误消息似乎不完整…应该是…
…检查…
的渲染方法。
items.map((obj, i) => <div key={i}></div>)