React: 警告:“遇到两个孩子使用相同的钥匙”

创建于 2016-11-23  ·  3评论  ·  资料来源: facebook/react

image

image

image

image

我确定密钥是唯一的,所以为什么还要打印警告错误。
我的反应版本是 0.14.8

谢谢你

最有用的评论

你能告诉我什么是实际问题吗,当我调用 onReachEnd 方法 flatlist 时,我有同样的警告

所有3条评论

如下所示的完整调用堆栈:

warning.js:45 警告: flattenChildren(...): 遇到了两个具有相同密钥.$outbox81孩子。 子键必须是唯一的; 当两个孩子共享一个密钥时,只会使用第一个孩子。[email protected]:[email protected]:[email protected]:[email protected]:[email protected]: :44_reconcilerUpdateChildren @ ReactMultiChild.js:212_updateChildren @ ReactMultiChild.js:351updateChildren @ ReactMultiChild.js:326_updateDOMChildren @ ReactDOMComponent.js:871updateComponent @ ReactDOMComponent.js:700receiveComponent @ ReactDOMComponent.js:645receiveComponent.@ReceiveComponent.@ReactReceiveComponent 函数@ReactMultiChild.js:326_updateDOMChildren backend.js:8386_updateRenderedComponent @ ReactCompositeComponent.js:562_performComponentUpdate @ ReactCompositeComponent.js:544updateComponent @ReactCompositeComponent.js:473ReactCompositeComponent_updateComponent @ ReactPerf.js:66receiveComponent @ReactCompositeComponent.js:405receiveComponent.js:405receiveComponent.js:405receiveComponent.js:544updateComponent on) @ backend.js:8386updateChildren @ ReactChildReconciler.js:84_reconcilerUpdateChildren @ ReactMultiChild.js:216_updateChildren @ ReactMultiChild.js:351updateChildren @ ReactMultiChild.js:326_updateDOMChildren @ReactDOMComponent.js:871updateComponent @ReactDOMComponent.js:70 @ ReactReconciler.js:87obj.(匿名函数) @backend.js:8386updateChildren @ReactChildReconciler.js:84_reconcilerUpdateChildren @ReactMultiChild.js:216_updateChildren @ReactMultiChild.js:351updateChildren @ReactMultiChild.js:326_updateDOM1Component@ReactDOM1updateComponentjs:84_reconcilerUpdateChildren js:700receiveComponent @ ReactDOMComponent.js:645receiveComponent @ ReactReconciler.js:87obj.(匿名函数) @backend.js:8386_updateRenderedComponent @ReactCompositeComponent.js:562_performComponentUpdate @ReactCompositeComponent.js:544updateComponent @ReactCompositeCompositeCompositeComposite3.js f.js:66receiveComponent @ ReactCompositeComponent.js:405receiveComponent @ ReactReconciler.js:87obj.(匿名函数) @ backend.js:8386updateChildren @ ReactChildReconciler.js:84_reconcilerUpdateChildren @ ReactMultiChild.js:216_updateChildren @ ReactMultiChildren.js: @ReactMultiChildren.js:8386updateChildren :326_updateDOMChildren @ ReactDOMComponent.js:871updateComponent @ ReactDOMComponent.js:700receiveComponent @ ReactDOMComponent.js:645receiveComponent @ ReactReconciler.js:87obj.(匿名函数) @backend.js:8386updateChildren @ReactChildReconciler.js:[email protected]:86_receiveComponent @ReactDOMComponent.js:645receiveComponent ReactMultiChild.js:351updateChildren @ ReactMultiChild.js:326_updateDOMChildren @ ReactDOMComponent.js:871updateComponent @ ReactDOMComponent.js:700receiveComponent @ ReactDOMComponent.js:645receiveComponent @ ReactReconciler.js:87obj.(anonymous function) @ backend.js:83866 :562_performComponentUpdate @ ReactCompos iteComponent.js:544updateComponent @ ReactCompositeComponent.js:473ReactCompositeComponent_updateComponent @ReactPerf.js:66receiveComponent @ReactCompositeComponent.js:405receiveComponent @ ReactReconciler.js:87obj.(匿名函数) @ backend.js:8386updateConciler.ReactChildreChildrenjs:8386updateConciler.ReactChildre. :216_updateChildren @ ReactMultiChild.js:351updateChildren @ ReactMultiChild.js:326_updateDOMChildren @ ReactDOMComponent.js:871updateComponent @ ReactDOMComponent.js:700receiveComponent @ ReactDOMComponent.js:645receiveComponent @ ReactReconciler.js:87obj.(anonymous.js:87obj.(anonymous.js:87obj 函数) ReactChildReconciler.js:84_reconcilerUpdateChildren @ ReactMultiChild.js:216_updateChildren @ ReactMultiChild.js:351updateChildren @ ReactMultiChild.js:326_updateDOMChildren @ ReactDOMComponent.js:871updateComponent @ ReactDOMComponent.js:700receiveComponent @ ReactDOMComponent.jsive.js:[email protected]:645recon功能 tion) @backend.js:8386_updateRenderedComponent @ReactCompositeComponent.js:562_performComponentUpdate @ReactCompositeComponent.js:544updateComponent @ReactCompositeComponent.js:473ReactCompositeComponent_updateComponent @ReactPerf.js:66receiveComponent @ReactCompositeComponent.js:[email protected]@ReactCompositeComponent.js:544updateComponent @[email protected]@[email protected] backend.js:8386_updateRenderedComponent @ReactCompositeComponent.js:562_performComponentUpdate @ReactCompositeComponent.js:544updateComponent @ReactCompositeComponent.js:473ReactCompositeComponent_updateComponent @ReactPerf.js:66receiveComponent @ReactCompositeComponent.js:405receiveComponent.js:[email protected]:[email protected]:405ReceiveComponent. :8386updateChildren @ ReactChildReconciler.js:84_reconcilerUpdateChildren @ ReactMultiChild.js:216_updateChildren @ ReactMultiChild.js:351updateChildren @ ReactMultiChild.js:326_updateDOMChildren @ ReactDOMComponent.js:871updateComponent @ ReactDOMComponent.js:700receive eactDOMComponent.js:645receiveComponent @ ReactReconciler.js:87obj.(匿名函数) @backend.js:8386_updateRenderedComponent @ReactCompositeComponent.js:562_performComponentUpdate @ReactCompositeComponent.js:544updateComponent @ReactCompositeComponent.js:473ReactComponent.js:473ReactComponent.js:473ReactComponent@jsComposite :405receiveComponent @ ReactReconciler.js:87obj.(匿名函数) @backend.js:8386_updateRenderedComponent @ReactCompositeComponent.js:562_performComponentUpdate @ReactCompositeComponent.js:544updateComponent @ReactCompositeComponent.js:473ReactCompositeComponent_update@ReactCompositeComponent_updates@ReactCompositeComponentfUpdatePerformes6@ReactCompositeComponentfUpdatePerform 2 ReactReconciler.js:102obj.(匿名函数)@backend.js:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:147React_Updates shBatchedUpdates @ ReactPerf.js:66closeAll @ Transaction.js:202perform @ Transaction.js:149batchedUpdates @ ReactDefaultBatchingStrategy.js:62enqueueUpdate @ ReactUpdates.js:176enqueueUpdate @ ReactUpdateQueue.js:24enqueueSetState @ ReactUpdateQueue.js:190ReactComponent.setStatejs:190ReactComponent. 65handleChange @connect.js:301dispatch @createStore.js:186(匿名函数)@api.js:91(匿名函数)@index.js:15(匿名函数)@middleware.js:22(匿名函数)@bindActionCreators。 js:7hide @ index.js:743handleDocumentClick @ index.js:519
warning.js:45 警告: flattenChildren(...): 遇到了两个具有相同密钥.$outbox80孩子。 子键必须是唯一的; 当两个孩子共享一个密钥时,只会使用第一个孩子。[email protected]:[email protected]:[email protected]:[email protected]:[email protected]: :44_reconcilerUpdateChildren @ ReactMultiChild.js:212_updateChildren @ ReactMultiChild.js:351updateChildren @ ReactMultiChild.js:326_updateDOMChildren @ ReactDOMComponent.js:871updateComponent @ ReactDOMComponent.js:700receiveComponent @ ReactDOMComponent.js:645receiveComponent .@ReactReceiveComponent.@ReactReceiveComponent 函数@ReactMultiChild.js:326_updateDOMChildren backend.js:8386_updateRenderedComponent @ ReactCompositeComponent.js:562_performComponentUpdate @ ReactCompositeComponent.js:544updateComponent @ReactCompositeComponent.js:473ReactCompositeComponent_updateComponent @ ReactPerf.js:66receiveComponent @ReactCompositeComponent.js:405receiveComponent.js:405receiveComponent.js:405receiveComponent.js:544updateComponent on) @ backend.js:8386updateChildren @ ReactChildReconciler.js:84_reconcilerUpdateChildren @ ReactMultiChild.js:216_updateChildren @ ReactMultiChild.js:351updateChildren @ ReactMultiChild.js:326_updateDOMChildren @ReactDOMComponent.js:871updateComponent @ReactDOMComponent.js:70 @ ReactReconciler.js:87obj.(匿名函数) @ backend.js:8386updateChildren @ReactChildReconciler.js:84_reconcilerUpdateChildren @ReactMultiChild.js:216_updateChildren @ReactMultiChild.js:351updateChildren @ReactMultiChild.js:326_updateDOM1Component@ReactDOM1updateComponentjs:84_reconcilerUpdateChildren js:700receiveComponent @ ReactDOMComponent.js:645receiveComponent @ ReactReconciler.js:87obj.(匿名函数) @backend.js:8386_updateRenderedComponent @ReactCompositeComponent.js:562_performComponentUpdate @ReactCompositeComponent.js:544updateComponent @ReactCompositeCompositeCompositeComposite3.js f.js:66receiveComponent @ ReactCompositeComponent.js:405receiveComponent @ ReactReconciler.js:87obj.(匿名函数) @ backend.js:8386updateChildren @ ReactChildReconciler.js:84_reconcilerUpdateChildren @ ReactMultiChild.js:216_updateChildren @ ReactMultiChildren.js: @ReactMultiChildren.js:8386updateChildren :326_updateDOMChildren @ ReactDOMComponent.js:871updateComponent @ ReactDOMComponent.js:700receiveComponent @ ReactDOMComponent.js:645receiveComponent @ ReactReconciler.js:87obj.(匿名函数) @backend.js:8386updateChildren @ReactChildReconciler.js:[email protected]:86_receiveComponent @ReactDOMComponent.js:645receiveComponent ReactMultiChild.js:351updateChildren @ ReactMultiChild.js:326_updateDOMChildren @ ReactDOMComponent.js:871updateComponent @ ReactDOMComponent.js:700receiveComponent @ ReactDOMComponent.js:645receiveComponent @ ReactReconciler.js:87obj.(anonymous function) @ backend.js:83866 :562_performComponentUpdate @ ReactCompos iteComponent.js:544updateComponent @ ReactCompositeComponent.js:473ReactCompositeComponent_updateComponent @ReactPerf.js:66receiveComponent @ReactCompositeComponent.js:405receiveComponent @ ReactReconciler.js:87obj.(匿名函数) @ backend.js:8386updateConciler.ReactChildreChild. :216_updateChildren @ ReactMultiChild.js:351updateChildren @ ReactMultiChild.js:326_updateDOMChildren @ ReactDOMComponent.js:871updateComponent @ ReactDOMComponent.js:700receiveComponent @ ReactDOMComponent.js:645receiveComponent @ ReactReconciler.js:87obj.(anonymous.js:87obj.(anonymous.js:87obj 函数) ReactChildReconciler.js:84_reconcilerUpdateChildren @ ReactMultiChild.js:216_updateChildren @ ReactMultiChild.js:351updateChildren @ ReactMultiChild.js:326_updateDOMChildren @ ReactDOMComponent.js:871updateComponent @ ReactDOMComponent.js:700receiveComponent @ ReactDOMComponent.jsive.js:645receiveComponent @ReactDOMComponent.js:645recon功能 tion) @backend.js:8386_updateRenderedComponent @ReactCompositeComponent.js:562_performComponentUpdate @ReactCompositeComponent.js:544updateComponent @ReactCompositeComponent.js:473ReactCompositeComponent_updateComponent @ReactPerf.js:66receiveComponent @ReactCompositeComponent.js:[email protected]@[email protected]:544updateComponent @ReactCompositeComponent.js backend.js:8386_updateRenderedComponent @ ReactCompositeComponent.js:562_performComponentUpdate @ReactCompositeComponent.js:544updateComponent @ReactCompositeComponent.js:473ReactCompositeComponent_updateComponent @ReactPerf.js:66receiveComponent @ReactCompositeComponent.js:405receiveComponent.js:[email protected]:[email protected]:405ReceiveComponent. :8386updateChildren @ ReactChildReconciler.js:84_reconcilerUpdateChildren @ ReactMultiChild.js:216_updateChildren @ ReactMultiChild.js:351updateChildren @ ReactMultiChild.js:326_updateDOMChildren @ ReactDOMComponent.js:871updateComponent @ ReactDOMComponent.js:700receive eactDOMComponent.js:645receiveComponent @ ReactReconciler.js:87obj.(匿名函数) @backend.js:8386_updateRenderedComponent @ReactCompositeComponent.js:562_performComponentUpdate @ReactCompositeComponent.js:544updateComponent @ReactCompositeComponent.js:473ReactComponent.js:473ReactComponent.js:ReactCompositeComponent.js:473ReactComponent@jsComposite :405receiveComponent @ ReactReconciler.js:87obj.(匿名函数) @backend.js:8386_updateRenderedComponent @ReactCompositeComponent.js:562_performComponentUpdate @ReactCompositeComponent.js:544updateComponent @ReactCompositeComponent.js:473ReactCompositeComponent_update@ReactCompositeComponent_updates@ReactCompositeComponentfUpdatePerformes6@ReactCompositeComponentfUpdatePerform 2 ReactReconciler.js:102obj.(匿名函数)@backend.js:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:147React_Updates shBatchedUpdates @ ReactPerf.js:66closeAll @ Transaction.js:202perform @ Transaction.js:149batchedUpdates @ ReactDefaultBatchingStrategy.js:62enqueueUpdate @ ReactUpdates.js:176enqueueUpdate @ ReactUpdateQueue.js:24enqueueSetState @ ReactUpdateQueue.js:190ReactComponent.setStatejs:190ReactComponent. 65handleChange @connect.js:301dispatch @createStore.js:186(匿名函数)@api.js:91(匿名函数)@index.js:15(匿名函数)@middleware.js:22(匿名函数)@bindActionCreators。 js:7hide @ index.js:743handleDocumentClick @ index.js:519

image

对不起,是我的错。

你能告诉我什么是实际问题吗,当我调用 onReachEnd 方法 flatlist 时,我有同样的警告

此页面是否有帮助?
0 / 5 - 0 等级