每当出现一个新内容的时候,我们都要比较新版本和老版本的区别在哪里,有助于学习和了解
下面小编总结一下V3和V4的区别
一、V3或者说V早期版本是把router 和 layout components 分开
那么在V4中是怎么样的呢
①集中式 router
②通过 <Route> 嵌套,实现 Layout 和 page 嵌套
③Layout 和 page 组件 是作为 router 的一部分
二、在V3中,我们是将整个庞大的router直接丢给Dom
在V4中,除了BrowserRouter,我们丢给DOM的我们的程序本身
另外,V4 中,我们不再使用 {props.children} 来嵌套组件了,替代的 <Route>,当 route 匹配时,子组件会被渲染到 <Route> 书写的地方
四、在V3 中的 routing 规则是 exclusive,意思就是最终只获取一个 route
而 V4 中的 routes 默认是 inclusive 的,这就意味着多个 <Route>可以同时匹配和呈现
如果只想匹配一个路由,可以使用Switch,在 <Switch> 中只有一个 <Route> 会被渲染,同时可以再在每个路由添加exact,做到精准匹配
Redirect,浏览器重定向,当多有都不匹配的时候,进行匹配