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

时间:2018-10-15 12:04:47

标签: react-native caching react-navigation react-component

所以我的问题很简单。

我通过反应导航进行导航。场景

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

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

但是我也进行了很多搜索,但是找不到这个东西。

作为方便的技巧,您可以使用任何 Tab Navigator 并隐藏选项卡栏。

因为只有 Tab Navigator (表标签浏览器)会将所有屏幕都保留在堆栈中,即使您离开屏幕也是如此。

看到这个,

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

这将保留“标签”中的所有屏幕,并且您也不会看到任何标签。