溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Remix路由模塊輸出對象handle函數(shù)怎么使用

發(fā)布時間:2023-04-10 15:47:41 來源:億速云 閱讀:106 作者:iii 欄目:開發(fā)技術

這篇“Remix路由模塊輸出對象handle函數(shù)怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Remix路由模塊輸出對象handle函數(shù)怎么使用”文章吧。

正文

Remix handle 函數(shù)是一個有用的對外輸出的 Route 模塊對象,用于暴露特定的數(shù)據(jù) match 對象,它們經(jīng)常在一起使用。

當前 Remix 版本:1.15.0

在哪里可以定義 handle

  • root 根組件

  • 路由頁面

在根路由定義

import { /.../ } from "@remix-run/react";
// 根路由 handle 配合頁面中 useMatches 獲取到 app 數(shù)據(jù)
export const handle = {
  app: 1
}
export default function App() {
  return (
    <html lang="en">
      // ...
    </html>
  );

在頁面 _index 路由中與 useMatch 一起

handle 與 useMatch 一起使用, useMatch 返回路由匹配相關的對象:

import type { V2_MetaFunction } from "@remix-run/node";
// hooks
import { useMatches } from "@remix-run/react";
export const meta: V2_MetaFunction = () => {
  return [{ title: "New Remix App" }];
};
// 輸出定義 handle 對象
export const handle = {
  test: 1,
}
export default function Index() {
  const match = useMatches()
  console.log(match[1].test) // 在 match 中訪問 match 函數(shù)
  return (
    <div>
      <h2>Welcome to Remix</h2>
    </div>
  );
}

match 數(shù)組

match 是一個數(shù)組, 數(shù)組中的對象數(shù)據(jù)結構:

  • data: 當前 loader 函數(shù)返回的數(shù)據(jù)

  • handle: 當前路由定義的 handle 數(shù)據(jù)

  • id:當前的路由 id

  • params: 當前的參數(shù)

  • pathname: 當前的路由路徑

match 一般是一個數(shù)組,會有兩個對象:

  • root.tsx 中的 match 對象

  • 當前路由的 match 對象

使用場景

當路由中需要指定一些特定的數(shù)據(jù)的時候

  • Remix-118i 中需要指定 handle

export const handle = { i18n: "login" };

i18n 提供給 Remix-i18n 用于根據(jù)當前路由匹配。

引用

  • handle

  • remix-i18next

以上就是關于“Remix路由模塊輸出對象handle函數(shù)怎么使用”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關的知識內(nèi)容,請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI