最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

react中路由跳轉(zhuǎn)及傳參的實現(xiàn)

 更新時間:2023年05月05日 15:44:59   作者:這個很好吃  
本文主要介紹了react中路由跳轉(zhuǎn)及傳參的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1.useNavigate

useNavigate 是 React Router v6 中新增的一個 hook,可以用來進行路由跳轉(zhuǎn)。

使用 useNavigate hook 首先需要安裝 react-router-dom@next,然后在函數(shù)式組件中引入:

import { useNavigate } from 'react-router-dom';
function MyComponent() {
  const navigate = useNavigate();
  function handleClick() {
    navigate('/target-path');
  }
  return (
    <button onClick={handleClick}>跳轉(zhuǎn)到目標路徑</button>
  );
}

useNavigate 返回一個 navigate 函數(shù),可以用來進行路由跳轉(zhuǎn)和監(jiān)聽路由變化。與 history.push 不同,navigate 不會在瀏覽器歷史記錄中添加重復的路由記錄。如果需要添加新的歷史記錄,可以使用 navigate({ pathname, state }) 的形式。

import { useNavigate } from 'react-router-dom';
function MyComponent() {
  const navigate = useNavigate();
  function handleClick() {
    navigate('/target-path', { state: { name: 'John', age: 25 } });
  }
  return (
    <button onClick={handleClick}>跳轉(zhuǎn)到目標路徑</button>
  );
}

navigate 函數(shù)還可以接收一個 options 對象,可以用來配置路由跳轉(zhuǎn)的方式。以下是一些常用的配置選項:

  • replace:是否替換當前頁面的歷史記錄;
  • state:傳遞的狀態(tài)數(shù)據(jù);
  • replace:是否替換當前頁面的歷史記錄;
  • shoudlNavigate:是否允許進行路由跳轉(zhuǎn);
  • replace:是否替換當前頁面的歷史記錄。
import { useNavigate } from 'react-router-dom';
function MyComponent() {
  const navigate = useNavigate();
  function handleClick() {
    navigate('/target-path', {
      state: { name: 'John', age: 25 },
      replace: true,
      shouldNavigate: true
    });
  }
  return (
    <button onClick={handleClick}>跳轉(zhuǎn)到目標路徑</button>
  );
}

2.useLocation

在 React Router 中,可以通過 useLocation hook 來獲取傳遞的參數(shù)和路徑信息。以下是一個示例:

import { useLocation } from 'react-router-dom';
function TargetComponent() {
  const location = useLocation();
  const searchParams = new URLSearchParams(location.search);
  const name = searchParams.get('name');
  const age = searchParams.get('age');
  const data = location.state;
  return (
    <div>
      <p>當前路徑:{location.pathname}</p>
      <p>查詢參數(shù):{`name=${name}, age=${age}`}</p>
      <p>狀態(tài)數(shù)據(jù):{JSON.stringify(data)}</p>
    </div>
  );
}

在目標頁面中,可以通過 useLocation hook 獲取路由路徑信息和傳遞的參數(shù),然后使用 URLSearchParams 對象和 location.state 屬性來獲取具體的值。其中:

  • location.pathname 表示當前頁面的路徑;
  • location.search 表示傳遞的查詢參數(shù),可以使用 URLSearchParams 對象來進行解析;
  • location.state 表示傳遞的狀態(tài)數(shù)據(jù),可以在目標頁面中獲取。

注意,在使用 URLSearchParams 對象時,需要先調(diào)用 new URLSearchParams(location.search) 來創(chuàng)建一個實例,然后調(diào)用 get 方法來獲取具體的參數(shù)值。

使用 useNavigate 進行路由跳轉(zhuǎn)并傳遞參數(shù)的示例如下:

import { useNavigate } from 'react-router-dom';
function MyComponent() {
  const navigate = useNavigate();
  function handleClick() {
    navigate('/target-path', { state: { name: 'John', age: 25 } });
  }
  return (
    <button onClick={handleClick}>跳轉(zhuǎn)到目標路徑</button>
  );
}

3.示例

在跳轉(zhuǎn)到目標路徑時,可以使用 state 選項來傳遞數(shù)據(jù)。在目標頁面中,可以使用 useLocation hook 獲取傳遞的數(shù)據(jù),示例如下:

import { useLocation } from 'react-router-dom';
function TargetComponent() {
  const location = useLocation();
  const data = location.state;
  return (
    <div>
      <p>姓名:{data.name}</p>
      <p>年齡:{data.age}</p>
    </div>
  );
}

在目標頁面中,可以通過 location.state 屬性獲取傳遞的數(shù)據(jù)。注意,如果沒有傳遞數(shù)據(jù),則 location.state 的值為 undefined,需要進行判斷處理。

到此這篇關于react中路由跳轉(zhuǎn)及傳參的實現(xiàn)的文章就介紹到這了,更多相關react 路由跳轉(zhuǎn)及傳參內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解React-Native全球化多語言切換工具庫react-native-i18n

    詳解React-Native全球化多語言切換工具庫react-native-i18n

    這篇文章主要介紹了詳解React-Native全球化語言切換工具庫react-native-i18n,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 淺談react?16.8版本新特性以及對react開發(fā)的影響

    淺談react?16.8版本新特性以及對react開發(fā)的影響

    本文主要介紹了react?16.8版本新特性以及對react開發(fā)的影響,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 解決react中l(wèi)abel標簽for報錯問題

    解決react中l(wèi)abel標簽for報錯問題

    這篇文章主要介紹了react中l(wèi)abel標簽for報錯問題,解決辦法就是react中l(wèi)abel標簽沒有for屬性,用htmlFor代替for屬性,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • React Ant Design樹形表格的復雜增刪改操作

    React Ant Design樹形表格的復雜增刪改操作

    這篇文章主要介紹了React Ant Design樹形表格的復雜增刪改操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 使用React.forwardRef傳遞泛型參數(shù)

    使用React.forwardRef傳遞泛型參數(shù)

    這篇文章主要介紹了使用React.forwardRef傳遞泛型參數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • antd?table動態(tài)修改表格高度的實現(xiàn)

    antd?table動態(tài)修改表格高度的實現(xiàn)

    本文主要介紹了antd?table動態(tài)修改表格高度的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • react antd checkbox實現(xiàn)全選、多選功能

    react antd checkbox實現(xiàn)全選、多選功能

    目前好像只有table組件有實現(xiàn)表格數(shù)據(jù)的全選功能,如果說對于list,card,collapse等其他組件來說,需要自己結(jié)合checkbox來手動實現(xiàn)全選功能,這篇文章主要介紹了react antd checkbox實現(xiàn)全選、多選功能,需要的朋友可以參考下
    2024-07-07
  • React中如何實現(xiàn)受控組件與非受控組件

    React中如何實現(xiàn)受控組件與非受控組件

    在 React 開發(fā)里,組件可分為受控組件和非受控組件,這篇文章將為大家介紹一下它們的實現(xiàn)原理,方法,區(qū)別,作用和應用場景是什么,希望對大家有所幫助
    2025-03-03
  • 可定制react18 input otp 一次性密碼輸入組件

    可定制react18 input otp 一次性密碼輸入組件

    這篇文章主要為大家介紹了可定制react18 input otp 一次性密碼輸入組件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • React中控制子組件顯示隱藏的兩種方式及對比詳解

    React中控制子組件顯示隱藏的兩種方式及對比詳解

    在 react 中,如果我們想控制子組件的顯示和隱藏一般有兩種方式,一種是父組件維護子組件顯示隱藏狀態(tài),另一種則是通過 forwardRef 直接設置子組件的狀態(tài)進行維護,這兩種方式各有優(yōu)缺點,以及對于不同的使用場景不同,今天我們就來簡單討論下,需要的朋友可以參考下
    2025-04-04

最新評論

房山区| 夹江县| 黄陵县| 蓬安县| 繁峙县| 岑巩县| 岐山县| 大港区| 塘沽区| 清河县| 临江市| 河东区| 乐至县| 福海县| 巫溪县| 江西省| 万山特区| 河西区| 军事| 邵东县| 商城县| 四会市| 建阳市| 莱西市| 台山市| 安多县| 元朗区| 双柏县| 江陵县| 揭东县| 卢湾区| 米泉市| 汾阳市| 荆门市| 任丘市| 阿瓦提县| 临颍县| 隆安县| 板桥市| 车险| 元朗区|