gpt4 book ai didi

javascript - React .setState() 中的展开运算符

转载 作者:行者123 更新时间:2023-11-28 11:29:48 25 4
gpt4 key购买 nike

给出从 React 类组件中提取的以下代码片段:

constructor(props) {
super(props)
this.state = { active: true }
}

deactivate = () => {
this.setState({ ...this.state, active: false })
}

将展开运算符放入 stopCounter() 方法的目的是什么?该应用程序也可以删除它:

  deactivate = () => {
this.setState({ active: false })
}

最佳答案

在这种情况下两者都有效,但您不需要使用它。只需设置状态就可以了:

this.setState({active: false})

但是让我解释一下如果您有嵌套的状态级别,例如:

state = {
foo: {
a: 1,
b: 2,
c: 3
}
}

当您只需要更新 foo 的 c 状态时,您需要合并状态,例如:

this.setState({ foo: {
...this.state.foo,
c: 'updated value'
}})

因此,扩展语法将对象与后面的对象合并。它类似于 Object.assign .

关于javascript - React .setState() 中的展开运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55247378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com