美文网首页
在 Redux 的 Reducer 中操作 state 的代码

在 Redux 的 Reducer 中操作 state 的代码

作者: yangxg | 来源:发表于2016-09-17 14:04 被阅读0次

    因为在 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)
    ]
    

    相关文章

      网友评论

          本文标题:在 Redux 的 Reducer 中操作 state 的代码

          本文链接:https://www.haomeiwen.com/subject/zwtwettx.html