Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
377 views
in Technique[技术] by (71.8m points)

react中路由参数的获取时机

react中,用了react-router,那么这时到的路由参数是在组件生命周期的哪个阶段可以获取到的?

下面有两个情景,

情景一:直接在浏览器地址栏输入https://segmentfault.com/ask,那么参数就是ask,那么这个ask作为路由参数可以在组件生命周期的哪个阶段获取的呢?

情景二:现在我在https://segmentfault.com,然后我browserHistory.push("ask"),这时路由就会跳转到https://segmentfault.com/ask,有匹配这个路径的组件就会加载,那么这种情况下的这个ask参数可以由组件的哪个生命周期获取呢?

因为在开发过程中发现是不一样的,有初步的结论,但是不太清楚为什么,也不知道自己想的对不对,请各位大神解答一下


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

路由参数是作为props传入组件的,它像普通属性一样,在路由组件创建或重新渲染时传入组件。至于那个周期获取,看实际情况。要用作异步请求可在componentDidmount获取,要渲染出来可在render中获取,要在渲染前做检测可在render之前的生命周期里获取。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...