javascript - 在 Reactjs 中更新状态?

标签 javascript reactjs mobx

我正在尝试更新我在 ReactJS 中的状态。为此,我在 Reactjs 类中有一个输入字段。该字段会自动填充来自父类的数据。该字段如下所示:

           <input
            onChange={e => this.props.store.addLego(e)}
            name="piece"
            value={this.props.row.original.piece}
          />

addLego 函数旨在更新我的状态,并且位于 MobX 存储中。它看起来像这样:

 addLego = action("addLego", e => {
this[e.target.name] = e.target.value;
});

但是,我实际上无法编辑输入字段!当我输入时,该字段没有任何变化!感谢您的帮助!

最佳答案

如果您设置 value属性为<input>字段 该字段成为受控输入。这意味着无论传递给 value 的是什么?被渲染在屏幕上。就您而言,如果您不更新 this.props.row.original.piece <input>字段永远不会获得新值。我建议阅读 React 文档的这段 https://reactjs.org/docs/forms.html#controlled-components

这基本上是建议将新值保留在某个地方(例如在组件的状态中)并将其设置回字段的值。

关于javascript - 在 Reactjs 中更新状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48066628/

相关文章:

reactjs - 为应用程序创建单个 MobX 商店的最佳方式是什么?

javascript - 写入文本或 JSON 文件以与 Node react

javascript - 将 JSON 映射到现有的深层对象结构

javascript - IE 9 错误 - 'SCRIPT600 : Invalid target element for this operation

javascript - 使用 Fluent nhibernate 的级联下拉列表 MVC5

javascript - 如果连单个字符都没有,则隐藏省略号

javascript - 如何将 Javascript 对象传递给 PHP 文件?

css - @font-face 仅当字体安装在本地计算机上时才有效

reactjs - 如何在 NextJS 中向 Router.push 添加查询参数?

javascript - JavaScript 中的 @ 是做什么用的?