来自react-redux-universal-hot-example入门套件中第三方API的初始数据加载

时间:2016-03-21 18:45:46

标签: javascript node.js reactjs redux

在react-redux-universal-hot-example入门套件中,我向中间件添加了redux-promise,并使用axios向外部API发出请求。

在Redux Dev Tools中,我看到从API调用返回的数据,但没有任何内容被渲染。我怀疑我的工作流程是错误的。

这就是我所做的:

  • 我添加了一个Redux模块weatherForecast.js,其中包含Action Creator和Reducer

  • 我添加了一个容器forecast.js,我在其中启动了对第三方API的调用并呈现数据。 (很遗憾,我无法看到任何正在呈现的数据......)

  • 我将预测容器添加到Home屏幕(此部分有效)

我的数据加载工作流程是完全错误还是我错过了一些小问题? 完整的源代码是here

1 个答案:

答案 0 :(得分:1)

你在combineReducers中的

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

在您的通话中,您有:

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

因此,您错误地包含了州,它应该是

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

如果你刚开始使用Redux,我建议你不要从一个完整的样板项目开始,但是当你发现需要它时,就开始简单并添加抽象。