• <strike id="6sogq"><s id="6sogq"></s></strike>
  • <strike id="6sogq"></strike>

    千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

    400-811-9990
    手機站
    千鋒教育

    千鋒學習站 | 隨時隨地免費學

    千鋒教育

    掃一掃進入千鋒手機站

    領取全套視頻
    千鋒教育

    關注千鋒學習站小程序
    隨時隨地免費學習課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當前位置:成都千鋒IT培訓  >  技術干貨  >  react路由傳參

    react路由傳參

    來源:千鋒教育
    發(fā)布人:gxy
    時間: 2023-05-16 16:34:00

      react路由傳參

    react路由傳參

      1.路由參數(shù)(params形式)

      路由參數(shù)是將參數(shù)嵌入到 URL 中的一種方式。在 React Router 6 中,我們可以通過在路由路徑中使用冒號來定義參數(shù)

      定義

    <Route path="/users/:id" element={<UserDetails />} />

          獲取

      我們定義了一個名為 id 的參數(shù),它可以在 URL 中的 /:id 部分找到。當用戶訪問 /users/123 時,123 將成為路由參數(shù),并可以在組件中通過 useParams 鉤子函數(shù)訪問

    function UserDetails() {

      const { id } = useParams();

      // ...

      }

         2.查詢參數(shù)(search形式)

      查詢參數(shù)是在 URL 中使用問號傳遞的一種參數(shù)。在 React Router 6 中,我們可以通過在 URL 中添加查詢參數(shù)來傳遞參數(shù)

      定義

    <Link to="/users?id=123">User Details</Link>

          獲取

      我們向 /users 頁面?zhèn)鬟f了一個名為 id 的查詢參數(shù),并將其設置為 123。我們可以在組件中使用 useLocation 鉤子函數(shù)獲取當前 URL 中的查詢參數(shù),并使用 URLSearchParams 對象來解析它們 

    function UserDetails() {

      const searchParams = useSearchParams();

      // 使用URLSearchParams這個對象解析url的search,然后直接獲取id

      const id = searchParams.get('id');

      // ...

      }

          3.狀態(tài)對象

      狀態(tài)對象是一種可以在導航期間傳遞數(shù)據(jù)的機制。在 React Router 6 中,我們可以在 navigate 函數(shù)中使用第二個參數(shù)來傳遞狀態(tài)對象

      定義

    function handleClick() {

      navigate('/users', { state: { id: 123 } });

      }

          獲取

      我們在導航到 /users 頁面時傳遞了一個名為 id 的狀態(tài)對象。我們可以在組件中使用 useLocation 鉤子函數(shù)獲取當前 URL 中的狀態(tài)對象

     function UserDetails() {

      const location = useLocation();

      const { id } = location.state;

      // ...

      }

          注意

      使用狀態(tài)對象傳遞數(shù)據(jù)會將數(shù)據(jù)存儲在瀏覽器的會話歷史中,因此它僅適用于頁面之間的相鄰導航。如果用戶從當前頁面返回到其他頁面,狀態(tài)對象中的數(shù)據(jù)將被清除。如果需要在不同頁面之間共享數(shù)據(jù),最好使用其他的數(shù)據(jù)傳遞方式,如 Redux 或 Context API

    聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。

    猜你喜歡LIKE

    react路由傳參

    2023-05-16

    JavaScript全解析——express

    2023-05-12

    java權限框架有哪些

    2023-04-26

    最新文章NEW

    volatile底層實現(xiàn)原理

    2023-05-04

    java怎么判斷一個數(shù)據(jù)是什么類型

    2023-04-27

    xml解析器

    2023-04-21

    相關推薦HOT

    更多>>

    快速通道 更多>>

    最新開班信息 更多>>

    網(wǎng)友熱搜 更多>>