簡體   English   中英

一種在不卸載的情況下隨機導航到特定屏幕的方法,可以多次創建(推送)

[英]A way to randomly navigate to specific screen without unmounting that is created(pushed) multiple times

我需要知道它是否能夠使用 react-native 實現我想要的行為。

我試圖找到一種方法來導航到從一個靜態定義的屏幕多次創建的特定屏幕。 首先通過以下方式創建多個屏幕:

   this.props.navigation.push('tabScreen') // option 1

   this.props.navigation.navigate({routeName: 'tabScreen', params: {}, key: uuid()}) // option 2

我能夠使用 stackNavigator 成功創建多個相同的屏幕,但問題是我需要能夠導航或“跳轉(不僅僅是返回上一個屏幕)”到任何創建的屏幕,而無需卸載創建的屏幕.

例如,如果我有屏幕 1、屏幕 2、屏幕 3、屏幕 4、屏幕 5,我應該能夠跳轉或導航

Screen 1 -> Screen 4
Screen 4 -> Screen 2
Screen 2 -> Screen 5

等等,而無需在導航時卸載屏幕(移動瀏覽器中選項卡功能的確切行為)。

React-naivgation 的堆棧導航器使用堆棧,因此據我所知,它會在導航到屏幕之前彈出所有屏幕,從而卸載屏幕。

在 react-native 的導航庫中可以實現這種行為嗎?

如果不是,我應該在哪里或如何解決問題?

謝謝

您可以使用ViewPager來實現此行為:例如,請參考ViewPager

對於您的選項卡,您應該創建選項卡數組,並在此基礎上,您可以使用迭代或任何其他機制將選項卡作為視圖分頁器內的視圖進行管理。

對於動態添加視圖,您可以將新選項卡添加到數組中,並且可以重新渲染視圖分頁組件。

對於導航,您可以使用不同的事件處理 API 方法,例如onPageScrollStateChanged, onPageScroll來管理選項卡切換和其他內容。

我希望這會回答你的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM