2017-02-22 3 views
2

Relevant line.Warum hat die TypeScript-Schnittstelle "Dispatch" von Redux.js einen Vorlagenparameter?

Wenn die Schnittstelle wie folgt:

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

... und S ist eindeutig nicht verwendet wird, dann warum ist es da?

Ich bemerke, dass S an anderer Stelle für "Speicher" verwandte Dinge verwendet wird, aber wenn es nicht in dieser Schnittstelle verwendet wird, denke ich nicht, dass es da sein sollte.

+1

Sie können die Pull-Anfrage sehen, die diese Schnittstelle und die Argumentation zu diesem Link hinzugefügt hat: https://github.com/reactjs/redux/pull/1537 – Lucas

Antwort

1

Sie haben Recht, für sich selbst scheint es nicht viel Sinn zu machen.

Meine Vermutung ist, sie haben es getan, um sicherzustellen, wie Versandfunktionen in middleware zurückgegeben werden.

Im Fall einer Middleware wie Redux-Thunk verwendet new dispatch function den Parameter <S>, obwohl ich nicht sicher bin, ob es eine Rolle spielt, ob der Standard in diesem Fall nicht funktioniert.

Verwandte Themen