Привет.
Ситуация такая:
1) Есть асинхронный action
type AppThunk<ReturnType = void> = ThunkAction<
ReturnType,
RootState,
unknown,
Action<string>
>
export const registerUserAsync = (form: RegisterFormType): AppThunk<Promise<RegisterFormType>> => {
return dispatch => new Promise(resolve => {
resolve(form);
})
};
2) Есть функциональный компонент
const dispatch = useDispatch();
const onRegister = async (newFormData: RegisterFormType) => {
const form: RegisterFormType = await dispatch(registerAction.registerUserAsync(newFormData));
};
Проблема в том, что const form: RegisterFormType подсвечивается TS и дальше не работает, то есть там distpach точно возвращает Promise, но TS не знает этого, указывая женерик
dispatch<Promise<RegisterFormType>>
он начинает ругаться на входной параметр экшен registerAction.registerUserAsync
Помогите, пожалуйста, с правильной типизацией