2016-05-13 23 views
-1

Ich habe ein Problem, meine Aktion in einem sehr, sehr grundlegenden Beispiel erfolgreich auszulösen.Helloworld Problem mit React/Redux

Alles, was ich will, ist, meine Statusausgabe ein-/auszublenden.

Wenn ich auf den Text onClick klicken, die den Versand auslöst, bekomme ich diesen Fehler Uncaught Error: Actions must be plain objects. Use custom middleware for async actions.

Sehen Sie bitte die repo hier npm install auf Root-Ebene und dann webpack innerhalb des simple Ordner führen Sie das Beispiel zu bündeln ich bin mit (dann offen index.html, kein Server erforderlich) stecken:

https://github.com/fuzzyrobot/reactTest

+2

Schauen Sie sich "mapDispatchToProps" bei ** showAllContainer.js ** wirklich genau an. Ich denke, dass Sie in der Lage sein sollten, ein Objekt mit dem Action Mapping anstelle einer Funktion zu übergeben. Das könnte es erklären. –

+0

Brilliant, der es behebt! Irgendeine Idee warum? Was ist der Unterschied? Wenn Sie diese Antwort machen, kann ich es bestätigen – darkace

+0

Es gibt auch ein Funktionsformular, wie es aussieht. Ich vermute, dass Ihr ursprünglicher Code nicht der Spezifikation entsprach (Funktionen über Objekte zurückgegeben). Ich habe mich immer an das Objektformat gehalten, da es einfach zu verwalten ist. Ich werde eine Antwort aufstellen. Vielen Dank. –

Antwort

2

Werfen Sie einen Blick auf mapDispatchToProps bei showAllContainer.js wirklich ca wirklich. Sie können dort ein Objekt übergeben, das das Action-Mapping enthält. Das ist oft der einfachste Weg, um die Aktionen an den Dispatcher zu binden.

Es würde auch eine Funktion akzeptieren. Ich denke, Ihre Definition stimmte nicht mit the specification überein. Deshalb haben Sie den Fehler erhalten, den Sie gemacht haben.

Verwandte Themen