在重新加载React Redux时清除状态

时间:2018-11-29 11:53:43

标签: reactjs redux react-redux

基本上,有HomePage和ProfilePage,HomePage包含呈现给ProfilePage的链接的列表。这是我的动作文件

export function fetchProfiles(page, max) {
  const PARAM = `?page=${page}&per_page=${max}`;
  const request = axios.get(`${ROOT_URL}/posts${PARAM}`);

  return {
    type: FETCH_PROFILES,
    payload: request
  };
}

这将连接到我的异径管

export default function(state={}, action) {
  switch(action.type){    
    case FETCH_PROFILES: {
      const { profiles, current_page, total_pages } = action.payload.data;
      const prevData = state.data ? state.data : [];
      return {
        data: [
          ...prevData,
          ...profiles
        ],
        totalPage: total_pages,
        currentPage: current_page,
        hasMore: current_page < total_pages,
        loading: false
      };
    }

在主页上,这就是我处理状态的方式

componentWillMount() {
        this.props.fetchProfiles(this.state.currentPage+1, 5);        
}
function mapStateToProps(state) {
    return { profiles: state.profiles};
}

export default connect(mapStateToProps, {fetchProfiles})(HomePage);

一切正常,因为页面在主页上显示了所有配置文件,一旦我单击一个配置文件,它就会将我定向到一个ProfilePage,这也没有问题。但是,在ProfilePage中,有一个<Link to="/"></Link>到HomePage,当我单击Link时,它会将我重定向回HomePage,但是当我跟踪状态时,出现了一个错误 "Invalid attempt to spread non-iterable instance"

是因为我之前的状态未清除吗?

0 个答案:

没有答案