回答編集履歴

2

テキスト追加

2020/04/18 22:51

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -92,7 +92,7 @@
92
92
 
93
93
 
94
94
 
95
- ReactとReduxによるアプリを書くのに、使う言語を JavaScript から TypeScriptに移行して、きちんと型を意識したコード維持すると、
95
+ ReactとReduxによるアプリを書くのに、使う言語を JavaScript から TypeScriptに移行して、きちんと型を意識したコード維持すると、
96
96
 
97
97
 
98
98
 

1

テキスト追加

2020/04/18 22:51

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -114,4 +114,54 @@
114
114
 
115
115
 
116
116
 
117
+ ### 追記3
118
+
119
+
120
+
121
+ 現状のstateの型は
122
+
123
+ ```javascript
124
+
125
+ const TODOS = {
126
+
127
+ todos: ["デバッグ用", "その2"]
128
+
129
+ };
130
+
131
+ ```
132
+
133
+ 上記のように、文字列の配列`todos` のみを持つオブジェクトなので、上記に回答した
134
+
135
+
136
+
137
+ ```javascript
138
+
139
+ return { ...state, todos: [...state.todos, action.value] };
140
+
141
+ ```
142
+
143
+ の `...state,` は不要で
144
+
145
+
146
+
147
+ ```javascript
148
+
149
+ return { todos: [...state.todos, action.value] };
150
+
151
+ ```
152
+
153
+ でも大丈夫ですが、今後、`todos`以外にもプロパティが増えることが見えているのでしたら、
154
+
155
+ ```javascript
156
+
157
+ return { ...state, todos: [...state.todos, action.value] };
158
+
159
+ ```
160
+
161
+ と書いておけば、プロパティが増えても `todos` だけが更新されて他のプロパティは同じ値で引き継がれたstateを返すコードになっています。
162
+
163
+
164
+
165
+
166
+
117
167
  以上、参考になれば幸いです。