在 Redux 的 Reducer 中操作 state 的代码

因为在 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)
]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容