首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何清理你的商店

如何清理你的商店
EN

Stack Overflow用户
提问于 2019-06-27 10:15:09
回答 2查看 77关注 0票数 0

在发帖之前,我试着阅读“this post”中丹·艾布拉莫夫的超级答案。

我的代码中有一个小问题,我很乐意理解我的错误:

1)这是我的索引文件

代码语言:javascript
复制
import { combineReducers } from 'redux-immutable';

import { reducer as formReducer } from 'redux-form';
import appReducer from './appReducer';
import errorReducer from './errorReducer';
import loginReducer from './loginReducer';
import modalReducer from './modalReducer';
import changeRequestReducer from './changeRequestReducer';
import releaseReducer from './releaseReducer';
import releaseReviewReducer from './releaseReviewReducer';
import logoutReducer from './logoutReducer';
import customAvatarReducer from './customAvatarReducer';


    export default combineReducers({
      appReducer,
      errorReducer,
      loginReducer,
      changeRequestReducer,
      releaseReducer,
      modalReducer,
      releaseReviewReducer,
      form: formReducer,
      logoutReducer,
      customAvatarReducer,
    });

我试着补充一下:

代码语言:javascript
复制
const rootReducer = (state, action) => {
  if (action.type === USER_LOGOUT) {
    const state = undefined;
  }

  return reducers(state, action);
};

const reducers = combineReducers({
  appReducer,
  errorReducer,
  loginReducer,
  changeRequestReducer,
  releaseReducer,
  modalReducer,
  releaseReviewReducer,
  form: formReducer,
  logoutReducer,
  customAvatarReducer,
});

这是文件的树,

问题是,我得到了“您达到最大调用堆栈大小”的错误。

我做错什么了?我不知道这是否是问题所在,但我们正在使用Immutable.js

更新

这是收到的错误

这是现在的索引文件

代码语言:javascript
复制
import { combineReducers } from 'redux-immutable';
import { reducer as formReducer } from 'redux-form';
import appReducer from './appReducer';
import errorReducer from './errorReducer';
import loginReducer from './loginReducer';
import modalReducer from './modalReducer';
import changeRequestReducer from './changeRequestReducer';
import releaseReducer from './releaseReducer';
import releaseReviewReducer from './releaseReviewReducer';
import logoutReducer from './logoutReducer';
import customAvatarReducer from './customAvatarReducer';
import { USER_LOGOUT } from '../actions/logoutActions';

const rootReducer = (state, action) => {
  if (action.type === USER_LOGOUT) {
    const state = undefined;
  }

  return reducers(state, action);
};

const reducers = combineReducers({
  appReducer,
  errorReducer,
  loginReducer,
  changeRequestReducer,
  releaseReducer,
  modalReducer,
  releaseReviewReducer,
  form: formReducer,
  logoutReducer,
  customAvatarReducer,
  rootReducer,
});

export default reducers;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-27 12:12:12

试着改变

代码语言:javascript
复制
export default reducers;

代码语言:javascript
复制
export default rootReducer;
票数 2
EN

Stack Overflow用户

发布于 2019-06-27 10:53:58

您只需替换位行,尝试使用下面的代码。

代码语言:javascript
复制
const rootReducer = (state, action) => {
  if (action.type === USER_LOGOUT) {
    state = [];
  }

  return reducers(...state, action);
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56788829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档