回答編集履歴

1

コメントの補足と参考を追加

2023/07/13 12:45

投稿

yopichan
yopichan

スコア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