嵌套数组中的setState

时间:2020-04-08 14:03:25

标签: reactjs react-hooks

我希望更新特定的输入值,但我希望使用一维数组来进行更新,但是不幸的是,在我的情况下2d是必需的,并且我不知道该怎么做,因为我已经尝试了行和单元格的所有组合。 >

这是演示的链接-> https://codesandbox.io/s/stoic-mirzakhani-46exz?file=/src/App.js

基本上,事情是在第一行中键入一些值(例如X轴)后,我希望仅此字段值被更新。我有一个按钮,可以将新行添加到包含所有输入标题和内容的inputValue。 另一件事是,如果我现在在输入中写一些东西,它会由于应用程序崩溃而将aray转换为对象

1 个答案:

答案 0 :(得分:1)

好的,所以您在这里遇到了一些问题,但是总的来说,这是一个很大的努力!

  1. 您正在尝试直接更新状态,而不是使用数组破坏和挂钩提供的变异函数
  2. 在状态更新中,您没有正确合并对象以导致传递相同的值
  3. 您没有正确使用道具

为了解决这些问题,我制作了一个新的输入组件,该组件可以跟踪每个组件行及其属性中的col。然后,这些值将与prop钻取的突变函数一起使用,并从块组件中检索内容值。

请告诉我这是否无效

下面是工作版本的链接,请查看控制台以查看更新,并且还有一个按钮,该按钮还将为您打印inputValue的当前值。输入状态时,状态现在也会更新。

编辑:我已经解决了您的评论,并修复了该示例,以便它可以满足您的要求。我继续前进,现在改用useReducer挂钩,因为它使逻辑更容易理解和阅读。如果您想这样做,也可以尝试使用useState来解决。现在,尽管这里再次是链接:
https://codesandbox.io/s/prod-resonance-wokey?fontsize=14&hidenavigation=1&theme=dark