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 מקבל את זה?
תודה!