栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在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



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/442073.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号