反应本机组件缓存(或防止卸载)(反应导航)

Art*_*der 6 caching react-native react-navigation react-component

所以我的问题很简单。

我通过react-navigation进行导航。情境

  1. 从屏幕A导航到屏幕B。-
    屏幕B中的每个组件正在安装/创建
  2. 从B返回到A-
    屏幕B中的每个组件都正在卸载
  3. 再次从A导航到B-
    屏幕B中的每个组件都重新安装。

有什么办法可以防止这种情况?数据不是问题,我将它们保留在redux存储中。情况与组件有关。

在我的应用程序中,用户将继续在两个屏幕之间切换,我不想每次都构建其中一个屏幕。

有任何想法吗?

Jay*_*ani 0

嗯,这不是一个完美的解决方案,

但我也进行了很多搜索,但找不到这个东西可以工作。

因此,作为一个方便的技巧,您可以使用任何选项卡导航器并隐藏选项卡栏。

因为只有选项卡导航器即使您离开屏幕,也会将所有屏幕保留在其堆栈中。

看到这个,

export const MainTabs = createBottomTabNavigator(
    Home: {
           screen: Home,
           navigationOptions: () => {
               return { tabBarVisible: false };
           },
    }
    Dashboard: {
           screen: Dashboard,
           navigationOptions: () => {
               return { tabBarVisible: false };
           },
    }
)
Run Code Online (Sandbox Code Playgroud)

这将保留选项卡中的所有屏幕,并且您也不会看到任何选项卡。