ReduxのReducerでstateのコードを操作する

790 ワード

ReduxのReducerでは、stateを直接返すのではなく、新しいstateを返すため、stateを次のように操作してコード量を減らすことができます.
変更値
 Object.assign({}, state, {
         [action.subreddit]: posts(state[action.subreddit], action)
  })

hc objectの追加
Object.assign({}, state, {
               todos: [
                 ...state.todos,
                 {
                   text: action.text,
                   completed: false
                 }
               ]
             })

配列への値の追加
[ ...state, action.productId ]

objectの削除
state.filter(c => c.id !== commentId);

配列指定位置のitemを削除
const index = state.indexOf(action.childId)
return [
  ...state.slice(0, index),
  ...state.slice(index + 1)
]