2017-12-29 14 views
0

初期状態が空の場合、状態を動的に追加/変更することは可能です。初期状態が空の場合、コンポーネントの状態を変更するにはどうすればよいですか?

説明:実際にはこのtempObjデータは、バックエンドからオブジェクトの配列として来て、データを変更してtempObjを割り当ててから、空の状態にしたいと思っています。私はアプリケーション内のデータを使用して変更することができます。

私は何をしました: 私は以下のコードを試しましたが、私がそれをコンソールにして、空の状態を示しています。

いくつかのいずれかが、これで私を助けることができる場合、私は本当に感謝、感謝

constructor(props) { 
 
     super(props); 
 
     this.state = {}; 
 
     } 
 
     
 
     componentDidMount() { 
 
     //actually this tempObj data is coming from backend 
 
     //after few loops i am assigning values like this 
 
     let tempObj = { 
 
      132284688949:{3: false, 
 
         5: true, 
 
         6: false}, 
 
      262993790438:{3: false, 
 
         8: true, 
 
         11: false}, 
 
      262993790440:{3: false, 
 
         8: true, 
 
         11: false}}; 
 

 
     this.setState(tempObj); 
 
     console.log(this.state); 
 
     }

答えて

2

あなたの情報があります。 setStateは非同期アクションです。状態が変更される前にconsole.logが実行されます。 setStateのコールバックにconsole.logを使用してください。

this.setState(tempObj,() => { 
    console.log(this.state); 
}); 
関連する問題