您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用React Router以编程方式导航

使用React Router以编程方式导航

useHistory如果您使用React> 16.8.0和功能组件,则React Router> 5.1.0中会有一个新的钩子。

import { useHistory } from "react-router-dom";

function HomeButton() {
  const history = useHistory();

  function handleClick() {
    history.push("/home");
  }

  return (
    <button type="button" onClick={handleClick}>
      Go home
    </button>
  );
}

使用React Router v4,您可以采用三种方法在组件内进行编程路由。

React Router主要是history库的包装器。history通过浏览window.history器和哈希历史记录为您处理与浏览器的交互。它还提供了内存历史记录,这对于没有全局历史记录的环境很有用。这在移动应用程序开发(react- native)和使用Node进行单元测试中特别有用。

一个history实例有用于导航两种方法pushreplace。如果您将history视为已访问位置的数组,push则将一个新位置添加到该数组中,replace并将该数组中的当前位置替换为新位置。通常,您将push在导航时使用该方法

在早期版本的阵营路由器,你必须创建自己的history实例,但在第4版的<BrowserRouter><HashRouter><MemoryRouter>组件将创建一个浏览器,哈希和内存的实例为您服务。React Router history通过router对象下的上下文使与路由器关联的实例的属性方法可用。

其他 2022/1/1 18:14:39 有712人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶