react-router-dom 用高阶组件的时候碰到一些问题?
高阶组件
const PrivateRoute = ()=>{
return <Route path='/'><Home/></Route>
}
使用
<Swith>
<Route path='/'><Home/></Route>//第一种方式
<PrivateRoute />//第二种方式
</Swith>
这两种方式在使用上有什么区别,主要是想在 PrivateRoute 写一些逻辑。
但是好像不行,匹配不上
其他路由的都可以 就是 '/' 不行 ,实在脑壳疼
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
理论上Switch组件和Route组件必须是直接上下级关系,否则可能会读取不到路由。所以第二种方法显然是不对的。至于你说的“/”不行我不太理解是怎么个不行法,是有报错还是不能匹配到正确的路由组件
问题已经解决,第二种方法是可行的。
问题出现在 exact 这个参数上。子路由设置为false 父路由设置为true