在底部选项卡导航器中卸载不活动的屏幕(重置堆栈)

时间:2019-10-18 19:21:52

标签: javascript reactjs react-native react-navigation

我正在使用react-navigation v3,是否有选项可以使非活动的选项卡屏幕像unmountInactiveRoutes:一样在DrawerNavigator中卸载?我找不到BottomTabNavigator的unmountInactiveRoutes之类的东西。

我在BottomTabNavigator中有两个堆栈导航器,我想自动卸载它们或只是重置它们。

我的导航员:

  • BottomTabNavigator
    • stackNavigator
    • stackNavigator

1 个答案:

答案 0 :(得分:3)

您可以使用 useIsFocused 钩来解决您的问题。因此,当屏幕聚焦时,您将显示所需的屏幕,否则只需返回null。检查以下代码:

import { useIsFocused } from '@react-navigation/native';

const isFocused = useIsFocused();

if(isFocused) return(/*your screen*/)

else if(!isFocused) return null

如果您想在每个焦点上进行获取或更改,只需使用 useFocusEffect 钩子即可。