我理解当两个节点具有相同的data-id时会发生这种情况但是如何控制这两个节点永远不会具有相同的id?它一直在抛出这个错误
Uncaught Error: ReactMount: Two valid but unequal nodes with the same `data-reactid`: .c.2.0.0.0.0.0.0.0.0.$/=10.0.0
at invariant (invariant.js:39)
at Object.getID (ReactMount.js:119)
at findParent (ReactEventListener.js:39)
at handleTopLevelWithoutPath (ReactEventListener.js:87)
at handleTopLevelImpl (ReactEventListener.js:73)
at ReactDefaultBatchingStrategyTransaction.perform (Transaction.js:136)
at Object.batchedUpdates (ReactDefaultBatchingStrategy.js:62)
at Object.batchedUpdates (ReactUpdates.js:94)
at dispatchEvent (ReactEventListener.js:204)
答案 0 :(得分:0)
如果你知道那些节点是哪些节点,那些节点是地图操作的产物,你可以设置key
,例如<Component key={index} />
。
如果您没有可用的唯一密钥,则数组中项目的索引通常用作密钥。
或者如果您要渲染两次相同的组件,那么只需设置一些临时密钥。