javascript - dispatch של Redux-form ו-typescript


כרגע נתקלתי בבעיה עם הקלדה נכונה של הפונקציה dispatch ב-redux-form.

פונקציית onSubmit מ־redux-form מקבלת שני ארגומנטים:

const onSubmit = (values, dispatch) => {...};

עם זאת, זה לא אותו dispatch בדיוק כמו זה מ-redux.

אני מתכוון, זה מאבד טיפוסים. אני יכול להקליד את זה איך שאני רוצה ו-TypeScript לא יזרוק שום שגיאות, לדוגמה ..., dispatch: Dispatch<{ foo: 'bar' }>) גם אם אין שום מפתח foo בכלל ברכיב שלי.

סוג Dispatch מגיע מ-redux ועובד טוב אם משתמשים ב-dispatch עם connect, למשל בפונקציה mapDispatchToProps.

שאלה: איך להקליד את פונקציית dispatch ב-redux-form בצורה נכונה?

חשוב :

כאשר הולכים למקום האתחול של Dispatch, בקובץ index.d.ts בחבילת הנוד redux, קיימת הממשק הבא:

export interface Dispatch<S> {
    <A extends Action>(action: A): A;
}

למה S מוזנח? האם זו הסיבה שאם אני שמים כל דבר כארגומנט ל-Dispatch, TypeScript מקבל את זה?

תודה!