Redux & _GET_INIT_STATE и & _RECEIVE_INIT_STATE - PullRequest
0 голосов
/ 09 июля 2020

У меня есть 2 редуктора и они объединены с помощью combineReducers. Когда я проверил консоль redux dev, я увидел действия несогласованности, называемые "&_GET_INIT_STATE and &_RECEIVE_INIT_STATE".

Я был бы очень признателен, если бы кто-то мог помочь мне разобраться в этом.

Ниже мой код для двух редукторы и консоль redux rev.

Ниже приведена последовательность действий консоли redux.

@@INIT
&_GET_INIT_STATE
FETCH_BASKET_LIST_MDATA_BEGIN
FETCH_BASKETS_BEGIN
ANOTHER_FETCH_BEGIN_ACTION1
ANOTHER_FETCH_BEGIN_ACTION2 
FETCH_BASKET_LIST_MDATA_SUCCESS // in here 'orderMetaList' populate with data
FETCH_BASKETS_SUCCESS
ANOTHER_FETCH_SUCCESS_ACTION1
&_RECEIVE_INIT_STATE // after this action some state attribute reset to the initial values, this action can not predict.(sequence), in here 'orderMetaList' reset to initial empty array.
ANOTHER_FETCH_SUCCESS_ACTION2

AuthReducer.ts

import { FETCH_AUTH_BEGIN, FETCH_AUTH_FAILURE, FETCH_AUTH_SUCCESS } from '../constants/action-types';

interface IAction {
  type: string,
  payload: any
}

interface InitialState {
  sessionActive: boolean
}

const initialState: InitialState = {
  sessionActive: false
}

const authReducer = (state = initialState, action: IAction) => {
  const { type, payload } = action;
  //Rest of the code....
}

export default authReducer;

Вот мой basketReducer.ts

interface InitialState {
  basketData: any[],
  basketMetaList: any[],
  orderMetaList: any[],
  // More attirbute
}

const initialState: InitialState = {
  basketData: [],
  basketMetaList: [],
  orderMetaList: [],
  // More...
}
interface IAction {
  type: string,
  payload: any
}
const basketsReducer = (state = initialState, action: any) => {
  const { type, payload } = action;
  switch (type) {
      //More code here....
      case FETCH_BASKET_LIST_MDATA_SUCCESS:
        return {
          ...state,
          basketMetaList: [...state.basketMetaList,payload]
        }
      case FETCH_ORDER_ST_META_BEGIN:
        return {
          ...state
        }
      case FETCH_ORDER_ST_META_FAILURE:
        return {
          ...state
        }
      case FETCH_ORDER_ST_META_SUCCESS:
        return {
          ...state,
          orderMetaList: payload
        }
    default:
      return state;
  }
}

export default basketsReducer;
...