Redux 过滤数据的最佳实践
Redux best practice to filter data
在开发应用程序的过程中,我遇到了一个问题,关于我是否正确使用了 Redux。
我有一个收藏夹:[],我在其中添加产品 objects 并呈现他们的列表。但是,为了不丢失数据,我必须将此 fav:[] 复制到 favCopy:[] ,然后才执行 .filter
示例代码:
case "fav":
state.fav = action.payload.filter === 'all'
? state.favCopy
: state.favCopy.filter((item: any) => item[type] === action.payload.filter)
break;
我想通过保持原始数组完好无损来了解我有多正确?也许有一种方法可以不乘数组而只使用一种状态?
大多数情况下,我们建议不要直接在减速器中进行过滤。相反,将原始数组保持在 as-is 状态,然后还存储您希望如何完成过滤的描述。从那里,根据需要使用选择器函数导出过滤值:
在开发应用程序的过程中,我遇到了一个问题,关于我是否正确使用了 Redux。 我有一个收藏夹:[],我在其中添加产品 objects 并呈现他们的列表。但是,为了不丢失数据,我必须将此 fav:[] 复制到 favCopy:[] ,然后才执行 .filter 示例代码:
case "fav":
state.fav = action.payload.filter === 'all'
? state.favCopy
: state.favCopy.filter((item: any) => item[type] === action.payload.filter)
break;
我想通过保持原始数组完好无损来了解我有多正确?也许有一种方法可以不乘数组而只使用一种状态?
大多数情况下,我们建议不要直接在减速器中进行过滤。相反,将原始数组保持在 as-is 状态,然后还存储您希望如何完成过滤的描述。从那里,根据需要使用选择器函数导出过滤值: