Я использую реактивный редуктор с несколькими компонентами в моем приложении. Я установил глобальное хранилище для некоторых действий в одном из компонентов. Но когда я перехожу к какому-то другому компоненту после выполнения щелчка, библиотека редукса запускает действие "@@ INIT", которое очищает ранее сохраненное состояние хранилища, из-за которого я получаю пустую страницу.
Мой файл редуктора
const INITIAL_STATE = {
errors: { touched: false },
compId: '',
data: [],
mappingList: [],
separatedData: {
IModel: [],
TCData: []
}
};
function viewReducer(state = INITIAL_STATE, action) {
switch(action.type) {
case Constants.SET_VIEW_DATA: {
return Object.assign({}, state, action.viewData);
}
case Constants.VIEW_ERROR: {
return Object.assign({}, state, Object.assign({}, state.errors, {loadConfs: action.err}));
}
default: return state;
}
}
export default viewReducer;
Хранить файл
const INITIAL_STATE = {
viewState: {
errors: { touched: false },
compId: '',
data: [],
mappingList: [],
separatedData: {
IModel: [],
TCData: []
},
},
confState: {
errors: { touched: false },
formValues: {
configName: '',
configFile: {},
attributeFile: {},
},
data: [],
},
};
const store = createStore(rootReducer, INITIAL_STATE, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__({
shouldHotReload: false,
}));
Действие пользователя, при котором действие '@@ INIT' получает триггер
<th><a href={"/" + this.props.match.params.configName + "/im/" + element.className} className="btn btn-xs btn-primary"><span className="glyphicon glyphicon-list-alt"></span></a></th>
Мне нужен какой-то механизм, с помощью которого я могу либо игнорировать эти действия @@ INIT, либо, может быть, каким-то образом получить свое предыдущее состояние состояния.