我的应用具有以下层次结构:
现在选项卡是一个数组。它包含对象-也是过滤器对象。
示例:
[{type:1, filter:{sortBy:publisDate,asc}, order:0, name: 'fun tab'}];
现在我理想的减速器设置为:
我有一个制表符减少器,用于控制活动的标签,订单,名称等。
然后我有了一个过滤器选项卡,用于控制过滤器更新。
最好的情况下,我不必担心“ activeTab”等问题,但是减速器可以处理逻辑。因此,当我更新过滤器时,它会正确显示在选项卡数组中。
我可以将所有这些都放在一个减速器中,但是它很多,最终会一团糟。
执行此操作的最佳策略是什么?
答案 0 :(得分:0)
我不知道您到底想使用此选项卡/过滤器做什么,但是如果所有内容都将在同一屏幕中关联,那么在一个减速器中执行所有操作就不会很糟糕。例如,您可能会遇到这样的事情:
TabsReducer
{
activeTab: 'products',
filter: {
term : 'sarasa',
order: 0,
sortBy: 'name asc',
}
}
然后,在减速器中,如果您想更新过滤器或其他内容,则可以
if (type === 'CHANGE_FILTER_TERM') {
return {
...state,
filter: {
...state.filter,
term: payload.term
}
}
}