2017-08-24 8 views
0

私はこのテキストを検索しましたが、私の状況は固定されていません。私の条件は私は1つの小道具の値を持っています私は2つの状態変数にこの値を設定する必要があります。その値を設定する前に、設定状態の非同期性または未知の理由が原因で、子がレンダリングされました。今私はどのようにこの動作を制御する必要がありますか? これは子供の私のcomponentWillReceiveprops反応の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}); 

    } 

これは私のrenderメソッド

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

私は私のlastManualFlagはまだサイズ0の配列

+0

2つではなく1つのsetState行だけを使用しようとしましたか? – mersocarlin

+0

申し訳ありませんが私がしたばかげた間違いです。 'lastManualProg'の代わりに' lasManualProg' – LowCool

+1

あまりにもタイプミスがあります。 'lasManualProg'ではなく' lastManualProg' – mersocarlin

答えて

0

あなたは状態

を設定するには、2つのコールを持っているコンソールを見たです

のように、

はどうですか

関連する問題