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

手機站
千鋒教育

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

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

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

當前位置:首頁  >  技術干貨  > 使用類型腳本響應導航v6:嵌套導航

使用類型腳本響應導航v6:嵌套導航

來源:千鋒教育
發布人:syq
時間: 2022-09-23 13:55:39 1663912539

  現在,我們已經熟悉了如何使用 TypeScript 設置 React 本機移動應用程序導航。讓我們通過設置具有完整類型檢查的嵌套導航來進一步了解它。

使用類型腳本響應導航v6

  讓我們在不同的導航器中用另一個名為“源”的屏幕擴展 3 個屏幕(“主頁”、“配置文件”、“設置”)。在我們繼續之前,我對上一個系列的源代碼進行了一些更改,我從堆棧導航切換到底部選項卡導航。除了以下幾點之外,沒有太大的區別:

1

  以下是我們將在本文中實現的導航結構。我們將了解如何使用以下結構對嵌套導航進行類型檢查。底部選項卡導航將嵌套到堆棧導航中。

  我們的根導航將是一個堆棧導航,其中一個堆棧導航屏幕(主導航)將包含一個底部選項卡導航。讓我們開始吧!

2

  請記住涉及的兩 (2) 個步驟:類型檢查導航器和類型檢查各個屏幕:

  1.類型檢查導航器

  鈮: 您可以通過傳遞嵌套屏幕的 和 屬性來導航到嵌套導航器中的屏幕,如下所示:screen params

3

  現在,讓我們看看如何對此進行類型檢查。

  由于我們的根導航將僅包含2個屏幕,因此讓我們根據需要調整根堆棧參數列表。

4

  我們還將創建另一個對象來定義底部選項卡屏幕的屏幕(我們稱之為底部選項卡參數列表)。

5

  我們執行以下操作將底部選項卡屏幕聲明為根堆棧中 MainNav 屏幕的子屏幕。

6

  以下是正在發生的事情:我們需要提取底部選項卡屏幕的參數(主頁,配置文件和設置),并將其指定為MainNav路由的參數。這可以使用具有底部選項卡參數列表作為參數的實用程序來完成。NavigatorScreenParams

  僅通過執行此操作,源屏幕就能夠導航到 MainNav 路由內的嵌套屏幕。見下圖:

7

  當 MainNav: 未定義時,源屏幕將無法訪問嵌套的導航屏幕。

8

現在,當 MainNav: 導航器屏幕參數<底部選項卡參數列表>時,源屏幕可以訪問嵌套的導航屏幕。

  2. 對各個屏幕進行類型檢查

  最初,我們了解到 React Navigation 中的導航器包導出一個泛型類型,以定義相應導航器中和 props 的類型。navigationroute

  例如,您可以用于本機堆棧導航器 ()、堆棧導航器 ()、抽屜導航器 ( )、底部選項卡導航器 () 等。NativeStackScreenProps @react-navigation/nativeStackScreenProps@react-navigation/stackDrawerScreenProps@react-navigation/drawerBottomTabScreenProps@react-navigation/bottom-tabs

  嵌套導航器時,屏幕的導航 prop 是多個導航屬性的組合。例如,如果我們在堆棧中有一個選項卡(就像我們的示例一樣),則 prop 將同時具有(來自選項卡導航器)和(來自堆棧導航器)。若要更輕松地合并來自多個導航器的類型,可以使用該類型。navigationjumpTopushCompositeScreenProps

  以下是主屏幕的 prop 類型應如下所示:

9

10

  讓我們了解一下該實用程序。CompositeScreenProps

  該類型采用 2 個參數,第一個參數是主導航的 props 類型(類型為擁有此屏幕的導航器,在我們的例子中為包含屏幕的“底部選項卡”導航器),第二個參數是輔助導航的 props 類型(父導航器的類型,在本例中為本機堆棧導航器)。主要類型應始終將屏幕的路由名稱作為其第二個參數。CompositeScreenPropsHome

  構圖2個屏幕道具的主要重要性是什么?

11

  通過上述操作,我們的底部選項卡屏幕中的導航道具可以直接導航到FeedScreen。

  默認情況下,底部選項卡導航器中的導航道具只能在其導航器中導航到屏幕/路由。請參閱下面的示例:

12

  源路由不可用于導航功能

  讓我們看看當我們使用實用程序組成屏幕道具時它的外觀。CompositeScreenProps

13

  源路由可用于導航功能

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
婷婷色五月另类综合 | 日本日本乱码伦视频在线 | 中文亚洲欧美乱码在线观看 | 欧美一级在线小说视频 | 日韩精品中文字幕动漫 | 在线视频一区日韩精品动漫 |