before post i tried to read the super-answer of Dan Abramov in this post
I have a little problem in my code, i will be happy to understand my mistake:
1) this is my index file
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,
});
I tried to add this:
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,
});
and this is the tree of the files,
The problem is that i get the error " you reach the maximum call stack size "
What am I doing wrong ? I don't know if could be this the problem but we are using Immutable.js
UPDATE
and this is the index file right now
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;
Try to change
export default reducers;
to
export default rootReducer;
you only have to replace bit lines , try with below code.
const rootReducer = (state, action) => {
if (action.type === USER_LOGOUT) {
state = [];
}
return reducers(...state, action);
};
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.