React路由是使用react-router-dom依赖包实现的,依赖包提供路由容器、子路由、路由跳转等工具
导入{ browser Router,HashRouter,route,Link,NavLink} from 'react-router-dom '; (Ps )在以下情况下为浏览器路由器()服务器路由容器) )。
要在React中使用路由,请使用路由容器包装所有路由
React路由在编译阶段分别对每个path的/(正斜杠)和正斜杠之间的每个url进行当前url和查询,如果path存在于url中,则编译相应的组件
browserrouterroutepath='/my ' component={ my }/route path='/list ' component={ list }/route path='/lid
为了简化路由,我们使用switch组件在编译阶段查询url中第一个存在的path,然后退出了编译
在CodeSendBox中尝试
browserrouterswitchroutepath='/my ' component={ my }/route path='/list ' component={ list }/route path='/lisise
在这里,您可以看到在路由编译阶段首先查询path='/List '路由,编译list组件,然后停止继续查询
在CodeSendBox中尝试
这里发生了路由不匹配。 在这种情况下,url为“/list/id”,必须编译ListId组件。 当前正在产生list组件
browserrouterswitchroutepath='/my ' component={ my } exact/route path='/list ' component={ list } exact/route papath
为了实现路由和组件的匹配,现在可以使用exact属性对路由进行准确查询