框架
版本

useLoaderData hook

useLoaderData hook 返回元件樹中最近的 RouteMatch 的 loader 資料。

useLoaderData 選項

useLoaderData hook 接受一個 options 物件。

opts.from 選項

  • 型別:string
  • 最近父匹配項的路由 ID
  • 可選,但為了獲得完整的型別安全建議提供。
  • 如果 opts.stricttrue,如果未提供此選項,TypeScript 將會發出警告。
  • 如果 opts.strictfalse,TypeScript 將會為返回的 loader 資料提供更寬鬆的型別。

opts.strict 選項

  • 型別:boolean
  • 可選 - 預設值:true
  • 如果為 false,則將忽略 opts.from 選項,並且型別將被放寬,以反映所有可能的 loader 資料的共享型別。

opts.select 選項

  • Optional (可選)
  • (loaderData: TLoaderData) => TSelected
  • 如果提供了此函式,它將被呼叫並傳入 loader 資料,其返回值將由 useLoaderData 返回。此值還將用於確定 hook 是否使用淺層相等檢查來重新渲染其父元件。

opts.structuralSharing 選項

  • 型別:boolean
  • Optional (可選)
  • 配置是否為 select 返回的值啟用結構共享。
  • 有關更多資訊,請參閱 渲染最佳化指南

useLoaderData 返回值

  • 如果提供了 select 函式,則返回 select 函式的返回值。
  • 如果沒有提供 select 函式,則返回 loader 資料,或者在 opts.strictfalse 時返回放寬後的 loader 資料。

示例

tsx
import { useLoaderData } from '@tanstack/react-router'

function Component() {
  const loaderData = useLoaderData({ from: '/posts/$postId' })
  //     ^? { postId: string, body: string, ... }
  // ...
}
import { useLoaderData } from '@tanstack/react-router'

function Component() {
  const loaderData = useLoaderData({ from: '/posts/$postId' })
  //     ^? { postId: string, body: string, ... }
  // ...
}
我們的合作伙伴
Code Rabbit
Netlify
Neon
Clerk
Convex
Sentry
訂閱 Bytes

您的每週 JavaScript 資訊。每週一免費傳送給超過 10 萬開發者。

Bytes

無垃圾郵件。您可以隨時取消訂閱。

訂閱 Bytes

您的每週 JavaScript 資訊。每週一免費傳送給超過 10 萬開發者。

Bytes

無垃圾郵件。您可以隨時取消訂閱。