如何在反应中为两个状态分配一个道具值

问题描述:

我已经搜索过这个文本,但是没有一个能够解决我的情况。我的条件是我有一个支持值,我需要将此值设置为2状态变量。一个是直接分配一个是间接的。现在由于设置状态的异步性质或未知原因,所以在设置该值的孩子被渲染之前。现在我应该如何控制这种行为? 这是我的孩子如何在反应中为两个状态分配一个道具值

componentWillReceiveProps(nextProps) { 
    let lastManualFlag =[...this.state.lastManualFlag]; 
    console.log('before',lastManualFlag,nextProps.groupBy.length); 
    for(var i=0;i<nextProps.groupBy.length;i++){ 
     lastManualFlag[i]=false; 
    } 
    console.log("after",lastManualFlag) 
    this.setState({lasManualProg:lastManualFlag}); 
    this.setState({ groupBy: nextProps.groupBy}); 

    } 

componentWillReceiveprops这是我的渲染方法

render() { 
    console.log('this.state',this.state); 
    if (!this.props.groupBy) return null; 

当我看到安慰我lastManualFlag还是大小为0阵列

+0

您是否尝试过仅使用一个setState行而不是两个? – mersocarlin

+0

对不起,这是我犯的愚蠢的错误。 'lasManualProg'而不是'lastManualProg' – LowCool

+1

也有一个错字。 'lastManualProg'而不是'lasManualProg' – mersocarlin

你有两个呼叫设置状态

怎么样在一个电话如:

this.setState({...state,lastManualProg:lastManualFlag,groupBy: nextProps.groupBy});