使用React-Router-Dom创建PrivateRoute

杨致远|

我已经看到了很多用例,说明人们如何使用react-router-dom创建专用路由。通常看起来像这样:

const PrivateRoute = ({component: Component, auth:{ isAuthenticated }, ...rest}) =>  (
    <Route {...rest} render={props => (
        isAuthenticated ?
            <Component {...props} />
        : <Redirect to="/signin" />
    )} />
);

我的问题是:是否可以使用这种方式来做同样的事情?

const PrivateRoute = ({component: Component, auth:{ isAuthenticated }, ...rest }) => (
    isAuthenticated ? <Route {...rest} render={props => <Component {...props}/>}/> :<Redirect to="/signin" />
)

当我运行代码时,它似乎正常工作。但是我仍然想知道为什么我们在第一种书写方式下进行条件检查?第二种写作方式不正确吗?如果是这样,为什么?谢谢!

红男爵

这只是一个喜好,两者都可以并且都可以。您也可以像这样使它更短,更易读

const PrivateRoute = ({component: Component, auth:{ isAuthenticated }, ...rest }) => (
    isAuthenticated ? <Component {...rest} /> : <Redirect to="/signin" />
)

然后像这样渲染:

<PrivateRoute
   exact
   component={ComponentToRender}
   path="/path"
   aProp={'aProp'}
/>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试导入错误:未从“ react-router-dom”导出“ PrivateRoute”

来自分类Dev

使用 React Router PrivateRoute 处理 Refreshtoken

来自分类Dev

如何使用 react-router-dom 创建动态路由?

来自分类Dev

如何使用react-router-dom在react中创建受保护的路由

来自分类Dev

如何使用React正确设置react-router-dom链接

来自分类Dev

使用 react-router-dom 在反应中全局使用 Header

来自分类Dev

React-Router PrivateRoute不起作用。我想念什么?

来自分类Dev

React Router Dom的<Switch>问题

来自分类Dev

如何在使用中发送参数React Router Dom的历史?

来自分类Dev

如何使用CSS在React Router Dom中选择链接标签?

来自分类Dev

使用react-router-dom的history.push

来自分类Dev

使用React Router DOM处理浏览器后退按钮

来自分类Dev

无法使用 switch 语句渲染路由 React router dom 5.0.0

来自分类Dev

如何创建动态路由,以基于react-router-dom中组件的属性命名路由

来自分类Dev

react-router-dom 元素类型无效

来自分类Dev

React-router-dom 重定向问题

来自分类Dev

ReactJS - 关于 react-router-dom 的问题

来自分类Dev

使用react-router-dom(<Route>)将var从->传递到React中的功能组件

来自分类Dev

使用react-query和react-router-dom进行缓存

来自分类Dev

当使用react-router-dom匹配URL路径时,如何防止React组件卸载

来自分类Dev

react-router-dom 不能与 express 和 react 结合使用

来自分类Dev

配置react-router-dom会产生错误:不变失败:您不应在<Router>外使用<Link>

来自分类Dev

在登录并刷新页面后,react router v5 privateroute将登录

来自分类Dev

在react中如何使用可重用组件作为React Component传递给react-router-dom Component属性?

来自分类Dev

如何使用react-intl,react-router-dom v4和TypeScript对React组件进行单元测试

来自分类Dev

在react中如何使用可重用组件作为React Component传递给react-router-dom Component属性?

来自分类Dev

使用react router dom滚动到新页面上的特定div

来自分类Dev

如何使用带有typescript的react router dom导航到新页面

来自分类Dev

在Material-UI面包屑中使用React Router DOM路由

Related 相关文章

  1. 1

    尝试导入错误:未从“ react-router-dom”导出“ PrivateRoute”

  2. 2

    使用 React Router PrivateRoute 处理 Refreshtoken

  3. 3

    如何使用 react-router-dom 创建动态路由?

  4. 4

    如何使用react-router-dom在react中创建受保护的路由

  5. 5

    如何使用React正确设置react-router-dom链接

  6. 6

    使用 react-router-dom 在反应中全局使用 Header

  7. 7

    React-Router PrivateRoute不起作用。我想念什么?

  8. 8

    React Router Dom的<Switch>问题

  9. 9

    如何在使用中发送参数React Router Dom的历史?

  10. 10

    如何使用CSS在React Router Dom中选择链接标签?

  11. 11

    使用react-router-dom的history.push

  12. 12

    使用React Router DOM处理浏览器后退按钮

  13. 13

    无法使用 switch 语句渲染路由 React router dom 5.0.0

  14. 14

    如何创建动态路由,以基于react-router-dom中组件的属性命名路由

  15. 15

    react-router-dom 元素类型无效

  16. 16

    React-router-dom 重定向问题

  17. 17

    ReactJS - 关于 react-router-dom 的问题

  18. 18

    使用react-router-dom(<Route>)将var从->传递到React中的功能组件

  19. 19

    使用react-query和react-router-dom进行缓存

  20. 20

    当使用react-router-dom匹配URL路径时,如何防止React组件卸载

  21. 21

    react-router-dom 不能与 express 和 react 结合使用

  22. 22

    配置react-router-dom会产生错误:不变失败:您不应在<Router>外使用<Link>

  23. 23

    在登录并刷新页面后,react router v5 privateroute将登录

  24. 24

    在react中如何使用可重用组件作为React Component传递给react-router-dom Component属性?

  25. 25

    如何使用react-intl,react-router-dom v4和TypeScript对React组件进行单元测试

  26. 26

    在react中如何使用可重用组件作为React Component传递给react-router-dom Component属性?

  27. 27

    使用react router dom滚动到新页面上的特定div

  28. 28

    如何使用带有typescript的react router dom导航到新页面

  29. 29

    在Material-UI面包屑中使用React Router DOM路由

热门标签

归档