javascript - react-router侦听url变化的原理?
巴扎黑
巴扎黑 2017-04-11 12:53:29
[JavaScript讨论组]

用react-router不多,想问一下实现原理。
我在地址栏里修改了url,然后回车,组件进入了componentWillReceiveProps这个生命周期,也就是更新组件;
再次回车时,就变成重新加载,组件从componentWillMount开始新的生命周期。

是不是react-router侦听了hashchange,如果url变化则手动pushState然后触发React组件重新渲染,如果url不变的话则重新请求这个页面?有没有对react-router实现原理比较了解的大神解释一下。

使用的是react-router 2.8

巴扎黑
巴扎黑

全部回复(2)
高洛峰

在地址栏里敲回车页面刷新的时候其实跟 React 没关系了,componentWillMount 也不会被执行。另外 react-router 是通过 history 这个包来跟 URL 做同步的。

高洛峰

其实可以在链接中加上onClick改变state从而达到url变化组件重新渲染的,但是我也遇到问题了。。。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号