React - 在reducer中更新数组填充对象

时间:2017-02-09 10:19:10

标签: javascript reactjs redux

我正在尝试更新商店中商品的状态。

这是有效的,但它没有以我正在寻找的格式返回状态。

状态如下:

state : {
   watchList: [
      {
        movie: {
          'name' : 'Batman'
        }
      }
   ]
}

但是,我一直试图使我的状态看起来像这样(即第一个对象中没有另一个对象,只是一个对象数组)。

state : {

   watchList: [{'name' : 'Batman'}. {'name': 'Superman'}]

}

我的 reducer 看起来像这样:

export default (state = [], action) => {

    switch(action.type) {

    case 'MOVIE_ADDED_TO_LIST':
        return [
            ...state,
            {
                movie: movie.event
            }
        ];

    default:
        return state;
    }

};

我的操作如下所示:

export const addMovieToList = (movie) => {

    return {
        type: 'MOVIE_ADDED_TO_LIST',
        movie
    };

}; 

以下是我映射stateToProps的方法。

function mapStateToProps(state, props) {

    return {

        WatchListEvents: state.watchList

    }

}

export default connect(mapStateToProps)(WatchList);

1 个答案:

答案 0 :(得分:1)

export default (state = [], action) => {

    switch(action.type) {

    case 'MOVIE_ADDED_TO_LIST':
        return [
            ...state,
            movie.event
        ];

    default:
        return state;
    }

};