【发布时间】:2019-11-06 17:55:34
【问题描述】:
我正在学习 redux,我想用排序和过滤属性实现分页。
这是 api 网址http://localhost:3001/cars?manufacturer=Fiat&color=white&sort=asc&page=1
还有制造商列表http://localhost:3001/manufacturers
因为最初所有的下拉菜单都将具有默认值并且页面将是1
将有多个减速器来获取制造商、颜色和汽车。
//fetchManufacturerReducer
const initialState = {
manufacturers:[]
};
//fetchCarsListReducer
const initialState = {
manufacturers:"Fiat",
color:"Black",
data:{
cars:[],
currentPage:1,
totalPage:10
}
};
问题:
这是正确的做法吗?
如何控制请求的顺序 - 首先获取制造商列表、颜色列表,然后获取带有默认值的汽车列表和页面
1当用户将颜色更改为
Black时,我如何更改coloractiveColor 以调度新的fetchCarsList?在某些阶段,我必须在减速器之间共享状态,这似乎很难做到 - 将所有内容放在单个减速器中会更好?
【问题讨论】:
-
Redux 在你组织你的 reducer 时效果最好,因为它们不需要在它们之间共享太多数据,即,做然后服务于单一目的是最好的情况。我无法真正回答您的问题,因为即使经过仔细检查,所呈现的结构似乎也很难得到。
-
是的,基本上目标是构建 api url - 基于过滤器和排序值在多个页面中获取汽车。通过使用具有多个操作的单个减速器,它应该可以工作,但我不确定它是否是最佳实践。
标签: reactjs filter redux pagination react-redux