📜  ReactJS useNavigate() 钩子

📅  最后修改于: 2022-05-13 01:56:47.986000             🧑  作者: Mango

ReactJS useNavigate() 钩子

在 React Router v6 中引入了 useNavigate()钩子来替换 useHistory() 钩子。在早期版本中,useHistory() 钩子访问 React Router 历史对象并使用 push 或 replace 方法导航到其他路由器。它有助于转到特定的 URL、前进或后退页面。在更新版本中,React Router 的新导航 API 提供了一个 useNavigate() 钩子,这是一个命令式版本,用于执行导航操作,具有更好的兼容性。

现在让我们通过示例来了解 useNavigate() 钩子的工作原理。

创建 React 应用程序并安装模块:

第 1 步:首先,使用以下命令创建一个 React 应用程序:

npx create-react-app ;

第 2 步:通过以下方式在 React 应用程序中安装最新版本的 react-router-dom。

npm install react-router-dom

项目结构:在 src 文件夹中创建一个名为 components 的文件夹,并在其中添加文件 Home.js 和 About.js。文件夹结构如下所示:

示例:在此示例中,我们将使用 useNavigate() 挂钩导航到 about 页面并返回主页。从下面的代码中,用户可以通过单击按钮从关于页面返回主页。

Home.js
import React from 'react';
import {useNavigate} from "react-router-dom"
  
const Home = () => {
  const navigate = useNavigate();
    
  return (
      <>
        

GeeksForGeeks

                  ) };    export default Home;


About.js
import React from 'react';
import {useNavigate} from "react-router-dom"
  
const About = () => {
  const navigate = useNavigate();
  
  return (
  <>
     

A Computer Science portal for geeks.

           ) };    export default About;


App.js
import React from "react";
import {BrowserRouter,Routes,Route} from "react-router-dom";
import Home from "./components/Home";
import About from "./components/About";
  
function App() {
    
  return (
      <>
      
      
        }/>
        }/>
      
      
      
  );
}
  
export default App;


关于.js

import React from 'react';
import {useNavigate} from "react-router-dom"
  
const About = () => {
  const navigate = useNavigate();
  
  return (
  <>
     

A Computer Science portal for geeks.

           ) };    export default About;

注意:这里,数字参数已传递以移动历史堆栈指针。

应用程序.js

import React from "react";
import {BrowserRouter,Routes,Route} from "react-router-dom";
import Home from "./components/Home";
import About from "./components/About";
  
function App() {
    
  return (
      <>
      
      
        }/>
        }/>
      
      
      
  );
}
  
export default App;

运行应用程序的步骤:打开终端并键入以下命令。

npm start

输出:类似地,我们可以传递数字参数以继续前进。

ReactJS useNavigate() 钩子

ReactJS useNavigate() 钩子