在React组件的状态下存储对象?

React.js

泡芙飞云神乐

2020-03-16

是否可以在React组件的状态下存储对象?如果是,那么我们如何使用来更改该对象中键的值setState我认为在语法上不允许这样写:

this.setState({ abc.xyz: 'new value' });

同样,我还有一个问题:在React组件中可以有一组变量以便可以在组件的任何方法中使用它们,而不是将它们存储在状态中,这可以吗?

您可以创建一个包含所有这些变量的简单对象,并将其放在组件级别,就像在组件上声明任何方法一样。

很有可能会遇到这样的情况,其中您在代码中包含了很多业务逻辑,并且需要使用许多变量,这些变量的值可以通过几种方法更改,然后您可以根据这些值更改组件的状态。

因此,您不必保留所有这些变量处于状态,而只需保留其值应直接反映在UI中的那些变量。

如果这种方法比我在这里写的第一个问题更好,那么我就不需要在状态中存储对象。

第1711篇《在React组件的状态下存储对象?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1个回答
乐ASam 2020.03.16

只需一行代码即可轻松完成

this.setState({object: {...this.state.object, objectVarToChange: newData}})

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android