ReactJS useReducer筛选器直接在状态中运行

ReactJS useReducer筛选器直接在状态中运行,reactjs,react-hooks,Reactjs,React Hooks,我正在研究React钩子,在使用React Reducer时遇到了一个问题 直接在状态中为各个状态定义过滤器函数是一种好方法吗?还是它破坏了心智编程模型 进口 导出const expensecontext=createContext[]; 常量初始状态={ 费用:[], //由于GetExpensesFromCategory与JS中的Expenses在同一个对象上,通常只有构造函数以大写字母开头,为什么不编写一个函数:export const filterByCategoryexpenses,c

我正在研究React钩子,在使用React Reducer时遇到了一个问题

直接在状态中为各个状态定义过滤器函数是一种好方法吗?还是它破坏了心智编程模型

进口 导出const expensecontext=createContext[]; 常量初始状态={ 费用:[],
//由于GetExpensesFromCategory与JS中的Expenses在同一个对象上,通常只有构造函数以大写字母开头,为什么不编写一个函数:export const filterByCategoryexpenses,category=>category.filterexpense=>expense.category==category。根据经验,如果您必须将其用于React,您真的需要三思。如果它对您有效,那么这很好,但是其他必须维护您的代码的程序员可能会感到困惑。好吧,我明白了。我注意到您不能百分之百地依赖函数存在的事实。如果它在更新或其他事情中被意外覆盖。但是在下面,问题出现了,我通常将这些函数存储在哪里。有没有一种常用的方法来存储它们?我是创建一个包含所有函数的新文件,还是直接将其放入存储器?通常情况下,您可以将它们放入,选择器可以从状态中选择一些内容,如const selectData=state=>state.data,从状态中选择一些特定的内容,如const createSelectEntitytypeentityType=>creATELECTORSELECTDATA,u,entityType=>entityType,data,entityType=>data[entityType]并在组件中创建一个记忆选择器:const selectType=React.UseMoom=>createSelectorprops.entityType,[props.entityType]或变形数据CreateSelectorSelectorSelectPeople,pp=>pp.mapp=>{…p,全名:p.first+p.last}看起来你对C比较熟悉,所以Angular可能更适合你,但如果你想/不得不接受React,最好研究函数编程。特别是纯函数、不变性和记忆。非常感谢你的帮助。我将更详细地了解与ReactJs挂钩相关的函数编程.有人知道资源书、视频吗。。?