路线改变时反应取数据

时间:2017-07-01 14:52:27

标签: javascript reactjs redux react-router router

我有一些路由,并且我想在每个路由更改时在客户端获取数据。

我在componentDidMount中调用fetch函数,如下所示:

  

componentDidMount(){           this.props.fetchSubmitInitialData(); }

但在render()函数中,我无法访问新的Redux道具。

1 个答案:

答案 0 :(得分:0)

  

我如何识别在渲染功能中收到的数据

从某种意义上说,您无法识别已收到数据,您的渲染功能只是呈现任何状态的视图。这只是状态(或从redux状态存储传递的道具)在收到数据时发生变化。因此,下次调用numb = [x for x,y in enumerate(data['column']) if 'sub-string' in y] print len(numb) 时,它会针对更新的值运行,并为您提供当前状态的更新视图。

这是一个按时间顺序排列的例子:

假设您的初始状态如下所示

render()

因此,在组件呈现的这个阶段,state: loading: true loaded: false data: null state.loading,因此您可以显示Loading ...消息,例如

当安装组件时,您获取数据,因此发生调用并返回数据,并且状态更新为例如。

true

现在,您的渲染函数看到state: loading: false loaded: true data: {'hello': 'world'} state.loaded,因此可以继续为true

中的数据呈现视图