Магазин сбрасывается при обнаружении действия "@@ INIT" - PullRequest
0 голосов
/ 12 июня 2019

Я использую реактивный редуктор с несколькими компонентами в моем приложении. Я установил глобальное хранилище для некоторых действий в одном из компонентов. Но когда я перехожу к какому-то другому компоненту после выполнения щелчка, библиотека редукса запускает действие "@@ 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, либо, может быть, каким-то образом получить свое предыдущее состояние состояния.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...