四步走
- 创建根节点 <BroswerRouter /> 或者 <HashRouter />,分别代表
history
模式和hash
模式 - 创建路由组 <Routes />
- 创建路由 <Route />,绑定path和element
- 创建链接按钮 <Link />,绑定点击去到的路径to
hook
-
useLocation
最常用的,一个对象,包括路径和路由
原理
- 组件切换:获取当前location,返回不同组件
- hash:onHashChange() 获取路径更新,window.location.hash 改变路径
- history:订阅history获取路径更新,window.history.pushState() 改变路径