在重定向之前路由等待异步数据

时间:2018-03-24 18:57:16

标签: javascript reactjs react-router

我来自Angular世界,其中路线的解析数据非常容易且开箱即用。如何做出同样的反应?

为路由添加异步数据,以便在数据准备好后重定向?我正在使用react-router。

我在某个地方看到我可以使用Router.run()方法编写自己的回调,但我在官方文档中找不到它。

我不想使用componentWillMount ,因为有时数据会在几秒钟内加载,页面会闪烁。

我知道这个话题多次出现,但我找不到一个好的答案。我将非常优雅地寻求解决方案的帮助。

1 个答案:

答案 0 :(得分:-1)

在我看来,在重定向之前等待数据可能会导致糟糕的用户体验,因为用户需要等待一些东西,他可能不会理解应用程序实际上是在后台做某事。

最好渲染UI,然后将实际数据传递到页面。

我经常使用 componentDidMount 来做这些事情。

E.g:

  • 在没有数据的情况下呈现组件
  • componentDidMount
  • 中提取数据
  • 然后通过设置状态
  • 更新UI

根据组件的具体外观,也可以显示加载图标。