在渲染之外使用React Router功能

Android开发

我注意到,在React Router提供的所有示例中,它使用Router对象作为要渲染的UI的一部分。但是我有一种情况,我需要在呈现代码之外使用Redirect对象。我有一组选项卡,当用户单击选项卡时,我需要重定向到其他URL。

我在Router文档中遇到了一个地方,该地方确实展示了如何将Router对象用作普通Javascript代码的一部分,而Javascript代码不是渲染的一部分,但我找不到它。本质上,我想做这样的事情:

function doRedirect() {
    return  (<Redirect to={"/" + user.username + "/projects"} />);
}

但这将无法编译。如何使用普通Javascript代码内的尖括号使用重定向功能?

巴里·迈克尔·道尔

您可以使用useHistory挂钩,那么就history.push(url)history.replace(url)这样的:

import { useHistory } from 'react-router-dom'

const MyComponent = ({ user }) => {
   const history = useHistory()

   function handleClick() {
     history.replace(`/${user.username}/projects`)
   }

   return (
     <button onClick={handleClick}>Redirect to Projects</button>
   )
}

这仅是一个示例,但是显然您可以在相当大的灵活性下使用它。

看到这个问题进行推送与替换

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我不能在Wordpress简码功能之外使用变量

来自分类Dev

如何在Wordpress之外使用woocommerce功能

来自分类Dev

Wordpress-在Wordpress之外使用功能

来自分类Dev

如何使用React Router的重定向功能?

来自分类Dev

你不应该在<Router>之外使用<Route>或withRouter()

来自分类Dev

未捕获的错误:您不应在 <Router> 之外使用 <Link> 引用导航栏

来自分类Dev

在EA之外使用Enterprise-Architect的“获取所有最新信息”功能

来自分类Dev

有没有办法在Django应用程序之外使用反向功能?

来自分类Dev

如何在功能之外使用HTML5访问经纬度地理位置

来自分类Dev

在EA之外使用Enterprise-Architect的“获取所有最新信息”功能

来自分类Dev

在React组件之外使用路由信息

来自分类Dev

在模板目录之外使用Heist渲染模板

来自分类Dev

如何在渲染管道之外使用模板

来自分类Dev

无法使用React Router渲染组件

来自分类Dev

如何在功能组件中的功能上使用与react-router的Link相同的行为?

来自分类Dev

React 替代transitionTo react-router-dom 4.1.1 功能转换

来自分类Dev

如何使用功能组件分别渲染Context Provider和Router?

来自分类Dev

在无状态功能组件中进行React Router Redirect

来自分类Dev

React Router:userHistory推送功能未按预期工作

来自分类Dev

React Router-通过Route中的功能传递位置道具

来自分类Dev

使用ui-router简单启动功能而不更改状态

来自分类Dev

使用ui-router简单启动功能而不更改状态

来自分类Dev

如何使用 Plug 功能连接 Plug.Router

来自分类Dev

在上下文提供程序中使用 withRouter 会导致错误:“不变式失败:您不应在 <Router> 之外使用 <Route>”

来自分类Dev

无法使用React Router和React Bootstrap渲染组件

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在roboactivity之外使用roboguice

来自分类Dev

在活动之外使用startActivity

Related 相关文章

  1. 1

    我不能在Wordpress简码功能之外使用变量

  2. 2

    如何在Wordpress之外使用woocommerce功能

  3. 3

    Wordpress-在Wordpress之外使用功能

  4. 4

    如何使用React Router的重定向功能?

  5. 5

    你不应该在<Router>之外使用<Route>或withRouter()

  6. 6

    未捕获的错误:您不应在 <Router> 之外使用 <Link> 引用导航栏

  7. 7

    在EA之外使用Enterprise-Architect的“获取所有最新信息”功能

  8. 8

    有没有办法在Django应用程序之外使用反向功能?

  9. 9

    如何在功能之外使用HTML5访问经纬度地理位置

  10. 10

    在EA之外使用Enterprise-Architect的“获取所有最新信息”功能

  11. 11

    在React组件之外使用路由信息

  12. 12

    在模板目录之外使用Heist渲染模板

  13. 13

    如何在渲染管道之外使用模板

  14. 14

    无法使用React Router渲染组件

  15. 15

    如何在功能组件中的功能上使用与react-router的Link相同的行为?

  16. 16

    React 替代transitionTo react-router-dom 4.1.1 功能转换

  17. 17

    如何使用功能组件分别渲染Context Provider和Router?

  18. 18

    在无状态功能组件中进行React Router Redirect

  19. 19

    React Router:userHistory推送功能未按预期工作

  20. 20

    React Router-通过Route中的功能传递位置道具

  21. 21

    使用ui-router简单启动功能而不更改状态

  22. 22

    使用ui-router简单启动功能而不更改状态

  23. 23

    如何使用 Plug 功能连接 Plug.Router

  24. 24

    在上下文提供程序中使用 withRouter 会导致错误:“不变式失败:您不应在 <Router> 之外使用 <Route>”

  25. 25

    无法使用React Router和React Bootstrap渲染组件

  26. 26

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

  27. 27

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

  28. 28

    在roboactivity之外使用roboguice

  29. 29

    在活动之外使用startActivity

热门标签

归档