location对象与useLocation()的使用

本文介绍了React应用中location对象的用途,它包含了当前URL的各种信息,如hash、host、pathname等。同时讲解了useLocation钩子如何在页面间传递数据,通过useNavigate()进行跳转时附带数据,并在目标页面利用useLocation获取传递的state值。这对于实现页面间的通信非常有用。
摘要由CSDN通过智能技术生成

location对象与useLocation()的使用

什么是location对象?

​ Location 对象包含有关当前 URL 的信息。

​ Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。

​ Location 对象存储在 Window 对象的 Location 属性中,表示那个窗口中当前显示的文档的 Web 地址。相关的属性如下图所示:

属性描述
hash设置或返回从井号 (#) 开始的 URL(锚)。
host设置或返回主机名和当前 URL 的端口号。
hostname设置或返回当前 URL 的主机名。
href设置或返回完整的 URL。
pathname设置或返回当前 URL 的路径部分。
port设置或返回当前 URL 的端口号。
protocol设置或返回当前 URL 的协议。
search设置或返回从问号 (?) 开始的 URL(查询部分)。

useLocation的使用

1. 使用场景:

​ 比如说我在当前页面想要跳转到其他页面,但是其他页面需要当前页面跳转来后的数据,这时候我们可以使用useNavigate()跳转并传值和useLocation接受传来的值。

2. 具体操作:

​ 在当前页面使用useNavigate的时候,在第二个参数将需要被发送的数据带上:

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

let navigate = useNavigate();

navigate(navigateUrl, { state: data });

​ 在被跳转的页面用useLocation获取该参数的值:我这边使用了lodash库的_get()方法,直接获取到了属性是state的值。

import { useNavigate } from 'react-router-dom';

const location = useLocation();

const state = _.get(location, ['state']);

image-20220509153355900

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值