reactであるstateを変更したいのですが、
変更箇所が一部分だけの場合どうしたらいいかわからないので教えてください。
コード
※コードは省略させて頂きます
this.state = { arr: [ {test: '111', test2: '222', test3: '333'}, {test4: '444', test5: '555', test6: '666'}, {test7: '777', test8: '888', test9: '999'} ] }
この場合、例えばtest4だけ変えたい場合などはどうすればいいでしょうか?
イメージとしては、
this.setState({ arr: [ {test4: 'aaaa', test5: '555', test6: '666'}, ] });
こんな感じでできるのかなと思ったのですが、
これだとsetStateしたタイミングでtest,test2,test3,test7,test8,test9のプロパティが消滅して
しまうのでダメでした。
あとは、
this.setState({ arr: [ {test: '111', test2: '222', test3: '333'}, {test4: 'aaaa', test5: '555', test6: '666'}, {test7: '777', test8: '888', test9: '999'} ] });
このようにやれば実現はできるのですが、
test,test2,test3,test7,test8,test9に関してはまた違う場合にstateを変更する可能性があるので
このままでやると上記のsetStateが走ったら初期値に戻ってしまうのでこのやり方以外であれば
教えて頂きたいです。
回答3件
あなたの回答
tips
プレビュー