【发布时间】:2018-08-21 06:15:00
【问题描述】:
我正在尝试使用 setState 更新我的对象人员的属性“名称”。但这似乎不起作用。 我通过用户输入获得了“新名称”。
我在这里错过了什么?
this.setState({ person: { name: newName } });
【问题讨论】:
-
你能分享一下
this.state的样子吗? -
更多上下文会很有帮助,例如组件的完整来源。至少,你的状态的形状和这个
setState正在完成的功能。我怀疑setState如何只合并到对象键的顶层是一个问题 -
通过这种方式,person对象将丢失所有其他键,更新后只有名称将是他们的,检查这个答案:updating an object with setState
-
this.setState(state => ({ person: Object.assign({}, state.person, { name: newName }) })); -
请在提出新问题之前使用搜索。
标签: javascript reactjs object setstate