LoginSignup
3
4

More than 5 years have passed since last update.

React Reduxでオブジェクトの一部のプロパティだけ更新したい

Posted at

概要

React Reduxでstateにオブジェクト形式で値を保持する場合、画面から何かしら更新が発生した場合にstateの一部のプロパティだけ、更新したいケースがあると思います。どういうふうに実装したらよいか少し悩んだので、結果のメモを残しておきます。

実装メモ

下記のように2つのアクションタイプで更新するプロパティを各々の、ものだけにするときの実装方法です。対象はreducersになります。

reducer.js
const initialState = {
  testObject: {
    name1: '',
    name2: ''
  }
};

export default function inputReducer(state = initialState, action) {
  switch (action.type) {
    case 'INPUT_NAME1':
      return {
        testObject: {...state.testObject, name1: action.payload.name1}
      };
    case 'INPUT_NAME2':
      return {
        testObject: {...state.testObject, name2: action.payload.name2}
      };
    default:
      return state;
  }
}
3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4