質問編集履歴

4

連想配列

2018/06/24 23:51

投稿

dwayne_johnson
dwayne_johnson

スコア86

test CHANGED
@@ -1 +1 @@
1
- React : StateにHashを入れた場合の更新は差分でしょうか?
1
+ React : Stateに連想配列を入れた場合の更新は差分でしょうか?
test CHANGED
@@ -1,6 +1,6 @@
1
1
  掲題の通りです。
2
2
 
3
- 以下のように、componentのstateに、buttonsというstateにハッシュ形式のデータを入れることを想定します。
3
+ 以下のように、componentのstateに、buttonsというstateに連想配列形式のデータを入れることを想定します。
4
4
 
5
5
  この時、例えば`this.state.buttons["現在地"]`の`can_click`を、あるアクションを受けた場合`false`に変えるなどのfunctionを入れた場合、それが起きたら`<RadioCircleButtons buttons={buttons} />`の更新は
6
6
 

3

さらに追記

2018/06/24 23:51

投稿

dwayne_johnson
dwayne_johnson

スコア86

test CHANGED
File without changes
test CHANGED
@@ -88,10 +88,18 @@
88
88
 
89
89
  ```
90
90
 
91
- 上記のように、すべてをコピーしないといけないということでしょうか??
91
+ [https://teratail.com/questions/116344](https://teratail.com/questions/116344)
92
-
93
- すごくヘビー
94
92
 
95
93
 
96
94
 
95
+ === さらに追記 ===
96
+
97
- [https://teratail.com/questions/116344](https://teratail.com/questions/116344)
97
+ [https://stackoverflow.com/questions/43040721/how-to-update-a-nested-state-in-react](https://stackoverflow.com/questions/43040721/how-to-update-a-nested-state-in-react)
98
+
99
+ ネストしたstateの書き換えについては理解しました。
100
+
101
+
102
+
103
+ 依然として、ネストしたstateの更新が差分なのかはわかっていないので、ご教授いただきたいです。
104
+
105
+ 追記が多くわかりづらくなってしまいましたが、よろしくお願いします。

2

追記

2018/06/24 23:47

投稿

dwayne_johnson
dwayne_johnson

スコア86

test CHANGED
File without changes
test CHANGED
@@ -67,3 +67,31 @@
67
67
 
68
68
 
69
69
  よろしくお願いします。
70
+
71
+
72
+
73
+ ==== 追記 ====
74
+
75
+ 本質問と少し話がズレますが、
76
+
77
+ ネストしたcomponentを書き換えるには、全てを複製する必要がある??
78
+
79
+ ```
80
+
81
+ this.setState({
82
+
83
+ buttons: { "現在地": { name: "現在地", can_click: false, is_selected: false }, "駅名": { name: "駅名", can_click: true, is_selected: false } },
84
+
85
+ };
86
+
87
+ });
88
+
89
+ ```
90
+
91
+ 上記のように、すべてをコピーしないといけないということでしょうか??
92
+
93
+ すごくヘビー
94
+
95
+
96
+
97
+ [https://teratail.com/questions/116344](https://teratail.com/questions/116344)

1

追記

2018/06/24 23:42

投稿

dwayne_johnson
dwayne_johnson

スコア86

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  以下のように、componentのstateに、buttonsというstateにハッシュ形式のデータを入れることを想定します。
4
4
 
5
- この時、例えば`this.state.buttons`の`can_click`を、あるアクションを受けた場合`false`に変えるなどのfunctionを入れた場合、それが起きたら`<RadioCircleButtons buttons={buttons} />`の更新は
5
+ この時、例えば`this.state.buttons["現在地"]`の`can_click`を、あるアクションを受けた場合`false`に変えるなどのfunctionを入れた場合、それが起きたら`<RadioCircleButtons buttons={buttons} />`の更新は
6
6
 
7
7
  1. 差分(`this.state.buttons["現在地"].can_click`のみの更新)
8
8