React Redux mapStateToProps在第二次调用中加载数据

时间:2016-06-11 12:00:16

标签: javascript arrays reactjs ecmascript-6 redux

mapStatToProps是两次调用它并在第二次调用时加载数据但是然后不将它作为prop分配给组件并返回一个空数组。

减速器:

 export default function postsReducer(state = initialState.posts, action) {
  switch (action.type) {
    case types.LOAD_POSTS_SUCCESS:
      return action.posts;
    default:
      return state;
  }
 }

这是我的mpStateToProps功能:

function mapStateToProps(state, ownProps) {
     const singlePost = state.posts.filter(post => post.code == ownProps.params.id);
      return {
        post: singlePost
     };
   }

这是我的组件状态:

this.state = {
   post: [...props.post]
};

1 个答案:

答案 0 :(得分:1)

您的代码可能是正确的,但是当您的组件收到新的道具时,您似乎忘记更新state.post值。

componentWillReceiveProps(nextProps) {
  this.setState({
    post: nextProps.post
  });
}