首页 > 解决方案 > 如果它不是对象或数组,我是否会改变我的状态?

问题描述

我知道如何避免在反应状态下改变对象和数组,但我不确定像这个例子中不是对象和数组的变量

 this.state = {
        cubeNumber: 0,
    }

onNumberChange = (event) => {
    this.setState({ [event.target.name]: event.target.value })
}

cubeArrayRender = () => {
    let { cubeNumber } = this.state;

我是否通过像这样使用 parseInt 来改变状态?

    let cubes = parseInt(cubeNumber, 10);

或者如果我这样写?

let cubes = cubeNumber;
cubes = 2; 

如果我正在变异状态,我该如何避免它?

标签: reactjsstatesetstate

解决方案


根据 React文档,你不应该像这样分配状态 // Wrong this.state.comment = 'Hello'; 但只有这样: // Correct this.setState({comment: 'Hello'}); 所以是的,你没有在代码中改变状态:)


推荐阅读