React教程(十四) : React-router 实现原理

之前讲述了React-router的使用方法,这一篇讲述其实现原理
1:react-router的Link组件会被翻译为a标签,

其query、to、hash等属性都会被翻译为href属性

2:通过history.listen监听路由变化
以下源码可以在react-router.js中找到

3:matchPath方法从url中的path找出对应的组件path

4:最后,如果使用的是Switch组件,其内部会遍历Switch中的子组件(都是Route对象),调用matchPath方法匹配组件,找到能匹配上path属性的Route组件,并clone其child对象。

以上源码可以在node_modules\react-router\esm\react-router.js中找到

posted @ 2020-11-15 09:05  老胡Andy  阅读(863)  评论(0编辑  收藏  举报