私はReactJSの初心者です。これは私のコードです。setStateが期待どおりに更新されない
for (var key in getContentState){
var string=getContentState[key]
if(highlighted_cols.includes(Object.keys(string).toString())){
arr=Object.values(string)
this.setState({
uniqueValues : arr
},()=>{
console.log("update")
console.log(this.state.uniqueValues)
})
}
}
getContentStateは、私は毎回uniqueValuesを更新しようとしているキーはhighlighted_colsと一致している screenshot of getContentState
のように見えるオブジェクトです。 highlighted_colsは、ユーザーによって選択されます。この場合、getContentStateに表示されるように、種または農家のいずれかが選択されます。
ユーザーが1つの列(種または農家)のみを選択しても問題ありません。しかし、ユーザーが複数の列(種や農家)を選択すると、農家専用の値が表示されます。
はそれの作業例を参照するとよいでしょう。しかし、OPはforループの中に状態を設定すべきではないので、これは正しいと思われる。 forループを通過するたびに、そこにあったデータが消去されます。 –
私はあなたのソリューションを使用して問題を解決しました!これは.pushを使用しており、forループからsetStateを移動しています。ありがとう! –