【发布时间】:2017-06-14 01:19:54
【问题描述】:
这是我的减速器的样子:
export default function catalogReducer(state = initialState.catalogItems, action){
switch (action.type) {
case types.LOAD_CATALOG_SUCCESS:
return {
count:action.count,
products :[...state['products'],
action.catalogItems ?
[...action.catalogItems['products']]
:
[]
]
default:
return state;
}
}
我想做什么:
这是一个用于加载目录项的减速器
项目来自分页 API。
- 我需要将结果从 api 添加到现有的列表 产品
问题:
我希望 state 参数应该与之前的状态相关联,但不,它总是从我在应用程序启动时初始化状态的 initialState 中获取值。
这是为什么呢?有什么办法呢?
基本上,我需要通过分页 api 返回完整的项目集,而不仅仅是 products 数组中给定页面的产品。
我最终得到的只是上次 api 调用的产品数组,因为 state.products 总是被初始化为一个空数组
另外,一般来说,我对在 react 和 redux 中处理分页 api 感到非常困惑,并且无法找到一个简单的示例。
一个方向将不胜感激。
这是 initialState.js 文件的样子:
import cookie from 'react-cookie';
export default {
categories:[],
sessionId: cookie.load('sessionId') || '',
youMayLikeItems : [],
catalogItems: {'products': []}
}
//这个文件是为了集中初始化store中的状态
【问题讨论】:
-
你能提供你的
initialState吗? -
@IlyaLyamkin:请。更新