【发布时间】:2018-09-20 14:38:32
【问题描述】:
我已经做了一个方法来创建一个通用的排序减速器。这个想法是调用一个动作并通过 action.meta 中的一个字段对其进行过滤。
方法如下:
const initalStateSorting = {
sortKey: undefined,
sortOrder: "ASC"
}
const createSortingReducer = (endpoint) => {
const sorting = (state = {}, action = {}) => {
switch (action.type) {
case 'SET_SORT': {
return {
sortKey: action.payload.sortKey,
sortOrder: action.payload.sortOrder
}
}
case 'RESET_SORT': {
return initalStateSorting
}
default:
return initalStateSorting
}
}
return (sorting)
}
使用这种方法,我可以创建其他通用化简器:
const photos = createSortingReducer('photos')
const text = createSortingReducer('text')
const sorting = combineReducers({
photos,
text
})
export default sorting
这种通用方法的问题在于,当我调用“SET_SORT”操作时,我正在为照片缩减器和文本缩减器设置排序。
有没有办法过滤输入动作到相应的端点?实现这一目标的好方法是什么?
【问题讨论】:
标签: reactjs redux react-redux reducers