Redux: Funktionsanfrage: autocurry bindActionCreators

Erstellt am 22. Feb. 2017  ·  3Kommentare  ·  Quelle: reduxjs/redux

Ein häufiger Anwendungsfall für bindActionCreators (zumindest mit React) ist wie folgt:

const mapDispatchToProps = (dispatch) => bindActionCreators({
    myActionCreator,
    anotherActionCreator
}, dispatch);

Wenn die Funktion automatisch gecurry würde (kann mit zwei Argumenten aufgerufen werden, gibt aber eine Funktion zurück, wenn sie mit nur einem Argument aufgerufen wird), könnte dies vereinfacht werden zu:

const mapDispatchToProps = bindActionCreators({
    myActionCreator,
    anotherActionCreator
});

Vorteile

  • Einfachere Aufrufsyntax.
  • Intuitives Verhalten für diejenigen, die mit Curry vertraut sind.

Nachteile

  • Etwas "magisch" ("Woher kommt dispatch ??!!")
  • Mehrere Möglichkeiten, dasselbe zu schreiben.
  • Möglicherweise schwer/verwirrend zu dokumentieren.
  • Nicht intuitiv / verwirrend für diejenigen , die mit Curry

Wenn es sich lohnt, dies zu erkunden, eröffne ich gerne eine Pull-Anfrage, damit wir sehen können, wie eine tatsächliche Implementierung aussehen würde.

Alle 3 Kommentare

Ja, lass uns eine PR machen und das mit etwas echtem Code dahinter besprechen.

Da wir bereits die Objektkürzel für connect , bin ich mir nicht sicher, ob ich hier den genauen Anwendungsfall sehe.

@markerikson Guter Punkt.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen