ReduxのReducerでstateのコードを操作する
790 ワード
ReduxのReducerでは、stateを直接返すのではなく、新しいstateを返すため、stateを次のように操作してコード量を減らすことができます.
変更値
hc objectの追加
配列への値の追加
objectの削除
配列指定位置のitemを削除
変更値
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)
]