蛮多同学可能会觉得react-router很复杂, 说用都还没用明白, 还从0实现一个react-router, 其实router并不复杂哈, 甚至说你看了这篇博客以后, 你都会觉得router的核心原理也就那么回事至于...功能的时候提供基层支持我们在react工程中自己建立一个react-router目录, 在其中新建一个文件pathMatch.js这也意味着我们将不再从npm上拉react-router, 而是直接在自己的工程里引用自己的...history模式)模式, 甚至在native端有memory模式, 当模式不同的时候, history会帮我们操作不同的地方(比如hash模式下, 操作的就是hash, browser模式下操作的就是浏览器的历史记录...= null ) { // chilren我们知道是可以写函数的, 写成函数的话可以获取上下文的值 return typeof children === "function" ?...的功能实现其实非常简单, 因为我们需要将Swicth包裹在Route组件外面, 所以我们仔细想想这个逻辑应该很快就出来了, 我们只要在Switch里将children属性挨个遍历然后控制渲染就可以了, 我们从react-router