添加新项目CRUD反应

时间:2019-09-26 18:05:55

标签: javascript reactjs

我正在练习一些反应,我想做一个CRUD,我遇到的问题是添加新元素时。 我获得了新数据,以到达父级中称为createNewItem的函数(我有console.log),但是我看不到列表中反映了一个新项目,并且还添加了第二个单击“保存” ”按钮,而不是第一个。我在做什么?谢谢你的帮助。我将代码保留在沙盒中。

https://codesandbox.io/embed/wizardly-archimedes-x8jzn

2 个答案:

答案 0 :(得分:0)

这可能不是处理此问题的最佳方法,但我在您的spark.read.format("kafka")的{​​{1}}上方添加了此内容

createNewItem

反应性文档说

App/index.js

基本上所有这些操作都是强制更新父级。老实说,也许有更好的方法来解决此问题,但这是一种适合您的解决方案。

答案 1 :(得分:0)

这里的问题是setState是异步的,因此console.log不会立即显示新状态。为此,您需要为setState使用回调:

 createNewItem = event => {
    const newList = [event, ...this.state.restoOriginales];
    this.setState({ restoOriginales: newList }, () => { // Use callback here
      console.log("NUEVO ITEM", this.state.restoOriginales);
    });
  };

此外,您还需要将其重定向回首页,或者在保存项目后删除表格。