如何在React中更新嵌套状态属性

如何在React中更新嵌套状态属性,第1张

如何在React中更新嵌套状态属性

为了

setState
创建嵌套对象,您可以按照以下方法进行 *** 作,因为我认为setState无法处理嵌套更新。

var someProperty = {...this.state.someProperty}someProperty.flag = true;this.setState({someProperty})

这个想法是创建一个虚拟对象,对其执行 *** 作,然后用更新的对象替换组件的状态

现在,散布运算符仅创建对象的一级嵌套副本。如果您的状态是高度嵌套的,例如:

this.state = {   someProperty: {      someOtherProperty: {          anotherProperty: {  flag: true          }          ..      }      ...   }   ...}

您可以在每个级别使用传播运算符来设置状态,例如

this.setState(prevState => ({    ...prevState,    someProperty: {        ...prevState.someProperty,        someOtherProperty: { ...prevState.someProperty.someOtherProperty,  anotherProperty: {    ...prevState.someProperty.someOtherProperty.anotherProperty,    flag: false }        }    }}))

但是,随着状态变得越来越嵌套,上述语法变得非常丑陋,因此,我建议您使用

immutability-helper
package更新状态。

有关如何使用更新状态的信息,请参见此答案

immutabilityhelper



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5147561.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存