本文介绍: 这两个方法是在之前的项目中还没有接触过这方法,新项目使用TS进行编写,其中使用到了useLocation及useNavigate这两种钩子,个人认为其中useNavigate与a标签的href的作用类似,具有路由跳转功能,但useNavigate更有助于转到特定的URL,前进或后退页面,但同时能够进行后退与前进。useLocation可以获取路由信息,当其他页面需要当前页面跳转来后的数据时可以使用。
一、引入
import {useNavigate, useLocation} from 'react-router-dom'
二、是什么
这两个方法是在之前的项目中还没有接触过这方法,新项目使用TS进行编写,其中使用到了useLocation及useNavigate这两种钩子,个人认为其中useNavigate与a标签的href的作用类似,具有路由跳转功能,但useNavigate更有助于转到特定的URL,前进或后退页面,但同时能够进行后退与前进。useLocation可以获取路由信息,当其他页面需要当前页面跳转来后的数据时可以使用。
三、useNavigate
const navigate = useNavigate();
const handleClick () => {
navigate('/home');
};
//作为组件
const App () => {
return <Navigate to='/home' state={state} />;
};
//前进、后退
const handleClick () => {
navigate(-1); //后退
navigate(1); //前进
};
四、useLocation
Location 对象是 window 对象的一部分,可通过 window.location.xxx 格式的相关属性对其进行访问。
返回完整的URL |
|
在当前页面使用useNavigate的时候,在第二个参数将需要被发送的数据带上:
import { useNavigate } from "react-router-dom";
let navigate = useNavigate();
navigate(navigateUrl, { state: {name: 'ada'}});
import { useLocation } from 'react-router-dom';
const location = useLocation();
//state值:location.state.name;
另外还可以通过queryString 获取location属性的值
import queryString from 'query-string';
import {useLocation} from 'react-router-dom'
const location = useLocation();
const id = queryString.parse(location.search);
原文地址:https://blog.csdn.net/Zqqq7/article/details/129319784
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_14043.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。