回答編集履歴
1
コメントの補足と参考を追加
test
CHANGED
@@ -30,6 +30,7 @@
|
|
30
30
|
action: PayloadAction<{ key: string; value: string | number }>
|
31
31
|
) => {
|
32
32
|
// Particalを利用して、オプショナルのデータを作成し、更新するキーとバリューをセットする。
|
33
|
+
// []でkeyを囲むことで、オブジェクトのプロパティに変数を利用できる。
|
33
34
|
const updateData: Partial<hogeB> = {[action.payload.key]: action.payload.value}
|
34
35
|
// 旧データをオプショナルの更新データをオブジェクトにスプレッド展開し、マージする。
|
35
36
|
state.hoge2[action.payload.key as keyof hogeB] = {...state.hoge2[action.payload.key as keyof hogeB], ...updateData}
|
@@ -37,3 +38,5 @@
|
|
37
38
|
},
|
38
39
|
})
|
39
40
|
```
|
41
|
+
# 参考
|
42
|
+
https://ja.stackoverflow.com/questions/67263/interface%E3%82%92object-keys%E3%81%A7%E5%9B%9E%E3%81%97%E3%81%A6%E5%80%A4%E3%82%92%E6%9B%B4%E6%96%B0%E3%81%97%E3%81%9F%E3%81%84
|