React native 已覆盖而不是合并Redux存储

React native 已覆盖而不是合并Redux存储,react-native,redux,react-redux,redux-thunk,React Native,Redux,React Redux,Redux Thunk,我正在使用Redux在React Native中编写一个应用程序。当我执行一个操作时,它似乎取代了存储,而不是更新存储,它只定义了在我的reducer中显式声明的值 我正在使用redux actions包中的handleActions。减速机示例如下所示 import { handleActions } from 'redux-actions'; export default handleActions({ DOCUMENT_GET_ALL_PENDING: state => ({

我正在使用Redux在React Native中编写一个应用程序。当我执行一个操作时,它似乎取代了存储,而不是更新存储,它只定义了在我的reducer中显式声明的值

我正在使用
redux actions
包中的
handleActions
。减速机示例如下所示

import { handleActions } from 'redux-actions';

export default handleActions({
  DOCUMENT_GET_ALL_PENDING: state => ({
    isRefreshing: true,
  }),
  DOCUMENT_GET_ALL_FULFILLED: (state, action) => ({
    document: action.payload.documents,
    isRefreshing: false,
  }),
}, { isRefreshing: false, documents: [] });
例如,当到达
DOCUMENT\u GET\u ALL\u PENDING
时,documents数组被设置为undefined。 以下是我的店铺的创建过程; 我正在使用
reduxpromise中间件
reduxdevtools扩展
thunk
中间件

const store = createStore(
  rootReducer,
  defaultState,
  composeWithDevTools(applyMiddleware(promiseMiddleware(), thunk)),
);

欢迎您提供任何帮助或建议。

您需要将您的州与前一州合并。现在您只是返回新的状态值

有很多方法可以做到这一点,但您可以使用
es6扩展运算符

DOCUMENT_GET_ALL_PENDING: state => ({
    ...state,
    isRefreshing: true,
  }),



DOCUMENT_GET_ALL_FULFILLED: (state, action) => ({
    ...state,
    document: action.payload.documents,
    isRefreshing: false,
  })

您需要将您的州与上一个州合并。现在您只是返回新的状态值

有很多方法可以做到这一点,但您可以使用
es6扩展运算符

DOCUMENT_GET_ALL_PENDING: state => ({
    ...state,
    isRefreshing: true,
  }),



DOCUMENT_GET_ALL_FULFILLED: (state, action) => ({
    ...state,
    document: action.payload.documents,
    isRefreshing: false,
  })

是否有方法覆盖此默认行为?我可能需要寻找另一个实现来实现
combineReducers
?您需要返回一个新的合并状态,因为它是
不可变的
,并且不能进行变异,所以有一些帮助函数可以做到这一点,因为这可能会有帮助。有没有方法覆盖此默认行为?我可能需要寻找另一个实现来实现
combineReducers
?您需要返回一个新的合并状态,因为它是
不可变的
,并且不能进行变异,所以有一些帮助函数可以这样做,因为在中可能会有所帮助