我正在使用react-router v4
。我觉得很困惑,当我点击<Link>
组件时,路线立即改变。我想在获取数据之前停留在当前路线上,而不是切换路线然后获取数据。我发现在react-router v3
有一个onEnter
挂钩,但现在在react-router v4
,它已被弃用。那么在我点击<Link>
组件后,在路由改变之前,我怎么才能获取数据?onEnter prop反应路由器v4
例子:
是:在A
- >点击<Link> to B
- >为B
获取数据 - >渲染B
没有:在A
- >点击<Link> to B
- >渲染Route B
- >获取B
的数据 - > rerender B
我不是故意要取代onEnter。例如,在您的代码中,getData()可能需要1秒或更多。但是,在数据恢复之前返回 。所以你在{Home}并等待数据。我想要做的是在渲染 之前获取数据,然后切换到{主页}。 –
@ONIAKI,不幸的是,v4没有这样的功能。在Github的讨论中有几个接近。鼓励使用生命周期挂钩来获取数据 –
这很容易混淆。我理解他们的理念,但它阻止了一些与用户交互的方式。 Em ...我已经使用vue.js和vue-router可以做我刚才说的话。也许我应该考虑在找到一个好的解决方案之前切换到react-router v3。 –