Я пишу приложение с использованием приставки, приведения и повторного выбора в TypeScript.
Во многих местах я пишу такие функции:
const selectThing = (store: IStore) => store.path.to.thing;
const fetchThing = (thingId: string) => (dispatch: Dispatch<IStore>, getState: () => IStore) => {
// fetch a thing by id and handle the result
return result;
}
Особенно во втором примере, аннотации ввода для второй функции занимают много места, и я хотел бы написать интерфейс функции, который обрабатывает ввод аргументов.
type StoreSelector<T = any> = (store: IStore) => T;
type ThunkDispatch<T = any> = (dispatch: Dispatch<IStore>, getState: () => IStore) => T;
Приведенные выше варианты печати решают проблему необходимости вручную вводить параметры каждыйвремя, но они потребуют, чтобы я вручную набрал возвращаемое значение функций, которые раньше работали автоматически.
Есть ли способ набрать аргументы функции, но пусть typcript автоматически определит возвращаемое значение функциитело