跳至主要內容
版本:6.x

useLinkBuilder

useLinkBuilder Hook 可讓我們為目前導航器狀態中畫面的連結建置路徑。它會傳回一個函式,此函式採用畫面的 nameparams 來聚焦,並根據 linking 選項 傳回路徑。

import { Link, CommonActions, useLinkBuilder } from '@react-navigation/native';

// ...

function DrawerContent({ state, descriptors }) {
const buildLink = useLinkBuilder();

return state.routes((route) => (
<Link
to={buildLink(route.name, route.params)}
action={CommonActions.navigate(route.name)}
>
{descriptors[route.key].options.title}
</Link>
));
}

此 Hook 預計用在導航器中,以顯示其中各種畫面的連結,例如抽屜和標籤導航器。如果您正在打造自訂導航器、自訂抽屜內容、自訂標籤列,您可能希望使用此 Hook。

有幾件重要事項需注意

  • 目標畫面必須存在目前的導航器中。它不能存在於父導航器或子導航器中。
  • 預計僅用在自訂導航器中,讓其能重複用於多個應用程式。對於常規應用程式程式碼,請直接使用路徑,而不是為畫面建置路徑,或使用 LinkuseLinkProps,以透明地處理路徑。