react路由守卫、路由监听等总结
warning:
这篇文章距离上次修改已过221天,其中的内容可能已经有所变动。
在React中,可以使用react-router-dom
库中的<Route>
组件的render
属性或者component
属性外加高阶组件(HOC)来实现路由守卫。
以下是一个使用react-router-dom
v5版本的简单示例:
在这个例子中,PrivateRoute
是一个高阶组件,它检查localStorage
中的isLoggedIn
项来决定是否重定向用户到登录页面。如果用户已经登录(isLoggedIn
为true
),则渲染HomePage
,否则重定向到/login
路径。
如果你使用的是react-router-dom
v6版本,代码会有一些不同,主要是因为<Route>
组件的API变化:
在v6版本中,<Navigate>
组件用于重定向,而useLocation
钩子用于访问当前的location状态。children
属性用于传递需要保护的组件。
评论已关闭