Arrays 将状态设置为二维数组-ReactJS

Arrays 将状态设置为二维数组-ReactJS,arrays,reactjs,collections,Arrays,Reactjs,Collections,我有一个2D数组,我需要在componentWillReceiveProps中更新它,但它没有得到更新 这是我的状态 this.state={ conditionRaw:[[]] } 这就是componentWillReceiveProps方法 componentWillReceiveProps(nextProps){ let rules = {conditionRaw:[[]]}; if (nextProps.rootO

我有一个2D数组,我需要在componentWillReceiveProps中更新它,但它没有得到更新

这是我的状态

this.state={
            conditionRaw:[[]]
        }
这就是componentWillReceiveProps方法

componentWillReceiveProps(nextProps){
        let rules = {conditionRaw:[[]]};
        if (nextProps.rootObject._id !== ""){
            rules["conditionRaw"] = nextProps.rootObject.conditionRaw
            this.setState({conditionRaw: rules.conditionRaw})
            console.log("DENEMEBİRLKİ", this.state.conditionRaw)
        }

    }
我的下一个程序已满,但我想我在设置状态时失败了。

您的控制台日志:

console.log("DENEMEBİRLKİ", this.state.conditionRaw)
可能有误导性,因为
setState()
是异步的。请尝试以下方法:

this.setState({conditionRaw: rules.conditionRaw}, () => {console.log(this.state.conditionRaw);});

this.setState({conditionRaw:rules.conditionRaw},()=>{console.log(this.state.conditionRaw);})这意味着什么?返回一个空数组@nocebody可能是Wow的副本,是的,它现在返回filled。这意味着我成功地更新了我的状态,对吗?是的,
setState
是异步的。总是使用这个回调函数来检查wheter是否改变了很多hanks!我现在记不清你的答案。10分钟后,我会做的。没问题!Thanks@BurakULU请您记下我的答案:)