2016-03-21 2 views
0

Im react-redux-universal-hot-Beispiel-Starter-Kit habe ich Redux-Versprechen an Middleware und verwendete Axios, um eine Anfrage zu stellen externe APIErstes Laden von Daten von Drittanbieter-API in react-redux-universal-hot-Beispiel Starterkit

In Redux Dev Tools Ich sehe die Daten von API-Aufruf zurückgegeben, aber nichts wird gerendert. Ich vermute, dass mein Workflow falsch ist. Hier

ist das, was ich getan habe:

  • ich ein Redux Modul weatherForecast.js hinzugefügt, die Action-Creator und Reducer enthält

  • ich einen Behälter gegeben forecast.js wo ich Aufruf an 3rd-Party-API initiieren und machen Daten. (Leider kann ich sehen, nicht alle Daten gemacht zu werden ...)

  • I Prognose Container Home Bildschirm hinzugefügt (Dieses Teil funktioniert)

Sind meine Daten Lade Workflow völlig falsch oder habe ich verpasst etwas Minderwertiges? Der vollständige Quellcode lautet here.

Antwort

1

in combineReducers Sie haben:

export default combineReducers({ 
    routing: routeReducer, 
    reduxAsyncConnect, 
    auth, 
    form, 
    multireducer: multireducer({ 
    counter1: counter, 
    counter2: counter, 
    counter3: counter 
    }), 
    info, 
    widgets, 
    outfits, 
    weatherForecast 
}); 

In Ihrem connect rufen Sie haben:

@connect(
    state => ({forecast: state.forecast}), 
    {fetchForecast} 
) 

Daher schließen Sie den Zustand zu Unrecht, sollte es

state => ({forecast: state.weatherForecast.forecast}), 

sein, wenn Sie Beginnend mit Redux, empfehle ich Ihnen, nicht mit einem vollständigen Boilerplate-Projekt zu beginnen, sondern einfach zu beginnen und ab hinzuzufügen Straktionen, wenn Sie feststellen, dass Sie sie brauchen.

+0

1. Ich dachte '@connect ( state => ({Prognose: state.forecast}), {fetchForecast} )' gleiche war wie '@connect ( state => ({ Vorhersage: state.forecast}), Versand => bindActionCreators ({fetchForecast}, Versand)) Ich werde versuchen, expliziten Versand. 2. Ich verwende redux-promise Middleware, um die Aktion erneut auszugeben, sobald das Ergebnis verfügbar ist. –

+0

Sie haben Recht, Entschuldigung übersehen Ihre Connect-Anweisung für die erste Bemerkung – bryanph

+0

Ich habe die Antwort aktualisiert – bryanph