showAllPics(docid){
console.log(docid)
var newSelected = Object.assign({},this.state.CompetitorPhotos);
console.log("b4-->",newSelected[docid]['display']);
newSelected[docid]['display'] = true;
console.log("after -->",newSelected[docid]['display'],newSelected);
console.log(newSelected,this.state.CompetitorPhotos)
this.setState({ CompetitorPhotos: newSelected },function(){
console.log(newSelected,this.state.CompetitorPhotos)
});
}
reactjsステートのネストされたプロパティで 'display'プロパティを更新しようとしています。 次のコードは...私が間違って何をやって失敗した...(https://facebook.github.io/react/docs/react-component.html#setstateから)ここで注目すべきネストされた状態のネストされたオブジェクトプロパティReactjsを更新するには?
console.log("after -->",newSelected[docid]['display'],newSelected);
results in "after -->",true, newSelected.docid.display remains false
Object.assign({})深くないコピーを行いますので、newSelectedを行うときに、基本的に自分の状態を変異している[DOCID] [「表示」] =真;しかし、必要に応じて状態を更新するために、lodashのcloneDeepのようなものを使用することもできます。https://lodash.com/docs/4.17.4#cloneDeep –
ダミーデータでjsbin/jsfiddleを作成できますか –