小编dha*_*nc1的帖子

如何使用 react-router 使用私有路由?

我想使用身份验证建立安全路由。我已经在 App.jsx 文件中定义了路由。我正在使用“路由”来定义要呈现的组件。

在 App.jsx 中

<Route 
    path='/dashboard'
    exact={true}
    render={(props) => <Dashboard {...props} user={user} 
    handleChildFunc={this.handleChildFunc}/>}
/>
Run Code Online (Sandbox Code Playgroud)

上面的代码没有任何问题。我想让它像下面一样安全。

<PrivateRoute 
    path='/dashboard'
    exact={true}
    render={(props) => <Dashboard {...props} user={user} 
    handleChildFunc={this.handleChildFunc}/>}
/>
Run Code Online (Sandbox Code Playgroud)

在 PrivateRoute.jsx 中

const PrivateRoute = ( props ) => {
  const user = "token from cookie"; // i will fetch token stored in cookie
  if(user !== null) {
    return <Route   />;
  }
  else {
    return <Redirect to="login" />
  }
}
Run Code Online (Sandbox Code Playgroud)

如果令牌存在,则呈现组件。否则,重定向到 /login。

reactjs react-router

3
推荐指数
2
解决办法
5562
查看次数

标签 统计

react-router ×1

reactjs ×1