当键相同时,更改值后,React输入无法正确呈现

时间:2019-07-27 20:27:04

标签: javascript reactjs typescript

https://codesandbox.io/embed/trusting-fire-bz5ti

这是显示问题的代码沙箱

在工作版本中,我使用Math.random()作为键

在不工作的版本中,我使用了数组的索引作为键

当数组this.state.values更新时,它会重新呈现输入的集合,但是,由于它们具有相同的键值,因此似乎无法正确更新这些值。

您可以尝试通过在出现的每个新输入中添加值(a,b,c,d),然后删除b或c来查看行为,来进行尝试。

1 个答案:

答案 0 :(得分:0)

正如Sung M. Kim所说,基本上需要为数组的每个元素提供一致的密钥。我是通过在对象输入对象中包含键值来实现的。

https://medium.com/@robinpokorny/index-as-a-key-is-an-anti-pattern-e0349aece318