У меня есть пример двух компонентов Задачи и Задача в родительском компоненте Задачи Я подключил хранилище
type Props = ConnectedProps<typeof connector>
const mapDispatchToProps = { updateTask };
const connector = connect(mapStateToProps, mapDispatchToProps);
export default connector(Tasks)
, затем в дочернем Задача Я хочу использовать updateTask, поскольку я не хочу подключать каждую задачу к redux
Task выглядит как
type Props = {
updateTask: typeof updateTask
}
, но этот код приводит к
Type '(taskId : string, updatedTask: Partial) => void «нельзя назначить типу» (taskId: string, updatedTask: Partial) => ThunkAction '. Тип 'void' нельзя назначить типу 'ThunkAction'.
конечно, поскольку он не go через соединение редуктора
, поэтому мой вопрос в том, безопасно ли использовать InferThunkActionCreatorType
из библиотеки 'response-redux'?
type Props = {
updateTask: InferThunkActionCreatorType<typeof updateTaskAndPropagate>
}
определение равно
export type InferThunkActionCreatorType<TActionCreator extends (...args: any[]) => any> =
TActionCreator extends (...args: infer TParams) => (...args: any[]) => infer TReturn
? (...args: TParams) => TReturn
: TActionCreator;
это именно то, что мне нужно, те же параметры функции, но тип возвращаемого значения void