react中,用了react-router,那么这时到的路由参数是在组件生命周期的哪个阶段可以获取到的?
下面有两个情景,
情景一:直接在浏览器地址栏输入https://segmentfault.com/ask,那么参数就是ask,那么这个ask作为路由参数可以在组件生命周期的哪个阶段获取的呢?
情景二:现在我在https://segmentfault.com,然后我browserHistory.push("ask"),这时路由就会跳转到https://segmentfault.com/ask,有匹配这个路径的组件就会加载,那么这种情况下的这个ask参数可以由组件的哪个生命周期获取呢?
因为在开发过程中发现是不一样的,有初步的结论,但是不太清楚为什么,也不知道自己想的对不对,请各位大神解答一下
路由参数是作为props传入组件的,它像普通属性一样,在路由组件创建或重新渲染时传入组件。至于那个周期获取,看实际情况。要用作异步请求可在componentDidmount获取,要渲染出来可在render中获取,要在渲染前做检测可在render之前的生命周期里获取。
props
componentDidmount
render
2.1m questions
2.1m answers
60 comments
56.8k users