2016-10-20 4 views
-1

Ich verwende redux und es6. Ich möchte eine Aktion versenden, bevor die Komponenten bereitgestellt werden. Das Problem ist, dass mit redux neuste Syntaxis componentWillMount nicht mehr existiert. Also ... wohin soll ich diese Aktion schicken?Dispatcher Aktionen vor dem Rendern der Komponente

Mein Fall: Ich habe eine Komponente, die Benutzerinformationen (wie z. B. Name) benötigt. Ich muss den Namen des Benutzers abrufen, bevor diese Komponente geladen wird.

Dank,

+0

componentWillMount stammt von ReactJS, und die Aktionen zum Absetzen stammen von redux. Sie sollten diese Dokumentation zur Verwendung von Redux mit ReactJS lesen: http://redux.js.org/docs/basics/UsageWithReact.html –

+0

Ja, ok, aber Sie haben meine Frage verstanden und haben sie trotzdem nicht beantwortet. Was ich brauche, ist eine Middleware;) @hugohowchoong – JVilla

Antwort

1

auf ein Feld in Ihrem Zustand Verbinden Sie Ihre Komponente, machen wir es „Name“ nennen. Stellen Sie beim Rendern der Komponente sicher, dass überprüft wird, ob der Name nicht leer ist. wenn es dann ist, macht es es, wenn nicht, dann macht es nichts.

In der KomponenteDidMount, feuern Sie Ihren Versand als normal - dies wiederum reduziert und am Ende ändert sich der Wert von "Name" in Ihrem Staat. Dies führt zu einem erneuten Rendern und wird dann ordnungsgemäß angezeigt.

componentWillMount existiert nur auf der Serverseite, daher ist es normalerweise nicht die beste Idee, Aktionen von diesem zu versenden, als ob Sie nur Ihren clientseitigen Code hätten, sie würden nicht funktionieren.

Verwandte Themen