- Objective: 事件处理程序的进行编程导航 - Breadcrumb: # 概念阐释 ## 语义 `useNavigate` 是一个钩子,它返回一个函数,该函数允许您以编程方式进行导航。 ## 语法 ```js import { useNavigate } from "react-router-dom"; const navigate = useNavigate(); const handleSubmit = e => {     e.preventDefault();     navigate('/')   } return (     <form onSubmit={handleSubmit}>       {/* form elements */ }     </form>   ) } ``` # 实例 **网页中的前进、后退按钮** ```js import React from "react"; import { useNavigate } from "react-router-dom"; export default function Footer() { // get the navigate function const navigate = useNavigate(); const goBack = () => { // imperatively redirect back navigate(-1); } const goForward = () => { // imperatively redirect forward navigate(1); } return ( <footer> <button onClick={goBack}>Back</button> <button onClick={goForward}>Forward</button> </footer> ); } ``` **点击按钮后导航到指定的页面** ```js const handleSubmit = e => { e.preventDefault(); dispatch(signUp({username: username})); // imperatively redirect the user to /profile navigate("/profile"); } ``` # 相关内容 # 参考资料 - 本地文件夹:react_router_v6_lession_starting_code - Footer.js - SignUp.js - [React Router useNavigate](https://reactrouter.com/en/main/hooks/use-navigate)