私はいくつかのものをレンダリングするための配列マップ関数を持っています... 私は0から始まる5つの変数を持っていて、各変数値は1私は...}).reverse();
とBEF後SETSTATEコードを置くと5つの状態this.setState array.map関数の外で無限に見える
this.setState({
C1Count:C1Count, // state : variable value
C2Count:C2Count, // state : variable value
C3Count:C3Count, // state : variable value
C4Count:C4Count, // state : variable value
C5Count:C5Count // state : variable value
});
を更新したい。
renderUser = (index)=>{
let C1Count = 0, C2Count = 0, C3Count = 0, C4Count = 0, C5Count = 0;
let users = this.state.users.map((user,index)=>{
// swiching some value , that is from 0 to 4
switch(this.state.users[index].result){
case 0: { C1Count += 1; break; }
case 1: { C2Count += 1; break; }
case 2: { C3Count += 1; break; }
case 3: { C4Count += 1; break; }
case 4: { C5Count += 1; break; }
default: { console.log("non"); break; };
}
return(
....stuff to render
)
}).reverse();
return users;
}
鉱石..return users;
は私が
最大更新深さを超えて取得します。これは、コンポーネント がcomponentWillUpdate内でsetStateを繰り返し呼び出すか、またはcomponentDillUpdate内で componentDidUpdateを繰り返し呼び出すときに発生します。 Reactは、ネストされた更新の数を に制限し、無限ループを防ぎます。
エラーが....だから私の質問は...どのように状態を更新するのですか?すべてのループが終了し、C1Count, C2Count, C3Count, C4Count, C5Count
変数が更新された後。
私はグローバル変数「this.C1Count、this.C2Count e.t.' –