是否可以在Redux的重新选择中定义createSelector函数的返回类型?
我无法从官方文档中了解到这一点:https://github.com/reduxjs/reselect#q-are-there-typescript-typings
这个小抄似乎也没有提供这一点:https://github.com/piotrwitek/react-redux-typescript-guide#selectors-with-reselect
import { createSelector } from 'reselect';
import { TodosState } from './reducer';
export const getTodos = (state: TodosState) => state.todos;
export const getTodosFilter = (state: TodosState) => state.todosFilter;
export const getFilteredTodos = createSelector(getTodos, getTodosFilter, (todos, todosFilter) => {
switch (todosFilter) {
case 'completed':
return todos.filter(t => t.completed);
case 'active':
return todos.filter(t => !t.completed);
default:
return todos;
}
});如果我知道从getFilteredTodos返回的结果是这样的:
type Return = {
text: string;
completed: boolean;
}[]那么我可以定义这个吗?
发布于 2020-03-26 19:08:09
您可以像这样定义返回:
export const getFilteredTodos = createSelector(getTodos, getTodosFilter, (todos, todosFilter) : { text: string; completed: boolean; }[] => {
switch (todosFilter) {
case 'completed':
return todos.filter(t => t.completed);
case 'active':
return todos.filter(t => !t.completed);
default:
return todos;
}
});https://stackoverflow.com/questions/60864420
复制相似问题