老师,getTodos返回的不是todos中的data数组吗,为什么reselect中不写成(data,filter) =>...呢
来源:5-9 常用库集成: Reselect

Freya_Luo
2020-08-09
export const getFilter = state => state.filter; const getTodos = state => state.todos.data; export const getVisibleTodos = createSelector( [getTodos, getFiler], (todos, filter) =>{ switch (filter) { case "all": return todos; case "active": return todos.filter((todo) => !todo.completed); case "completed": return todos.filter((todo) => todo.completed); default: return new Error("unknown filter: " + filter); }} )
老师,请问 getTodos 这个selector返回的是todos中的data, 在createSelector中传入的参数为什么不是(data, filter) => {} 而是(todos, filter) => {}呢? 这样传入的这个object 不是还含有isFetching 和error这两个属性吗? 谢谢老师。
写回答
2回答
-
艾特老干部
2020-08-10
你好。createSelector传入的第二个参数是一个函数,函数签名形如:(param1, param2)=> {}。
(todos, filter) => {} 中,todos, filter都是参数名,是形参,不是实参。参数名你可以任意命名,叫(data, filter) => {}也可以。
你的问题是把形参和实参搞混了。012020-08-13 -
艾特老干部
2020-08-09
你好, 请补充下你的问题,添加问题涉及到的具体的代码。没有看懂你当前的问题。
012020-08-10
相似问题