首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redux存储被覆盖而不是合并

Redux存储被覆盖而不是合并
EN

Stack Overflow用户
提问于 2018-04-21 12:52:34
回答 1查看 363关注 0票数 0

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

我正在使用来自handleActions包的redux-actions。减速机的例子是这样的;

代码语言:javascript
复制
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_GET_ALL_PENDING时,文档数组会被设置为未定义的。下面是创建我的商店的样子;我使用的是redux-promise-middlewareredux-devtools-extensionthunk中间件。

代码语言:javascript
复制
const store = createStore(
  rootReducer,
  defaultState,
  composeWithDevTools(applyMiddleware(promiseMiddleware(), thunk)),
);

欢迎任何和所有的帮助或建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-21 13:08:05

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

有很多方法可以做到这一点,但是您可以使用es6 spread operator

代码语言:javascript
复制
DOCUMENT_GET_ALL_PENDING: state => ({
    ...state,
    isRefreshing: true,
  }),



DOCUMENT_GET_ALL_FULFILLED: (state, action) => ({
    ...state,
    document: action.payload.documents,
    isRefreshing: false,
  })
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49955963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档