我有一个使用 React Navigation 的 React Native 应用程序。该应用程序已经包含一个嵌套堆栈导航器的选项卡导航器。现在我还想在最顶层添加抽屉导航,显示自定义抽屉内容。
因此,我的层次结构将是 DrawerNavigator(嵌套 1 个 TabNavigator)> TabNavigator(嵌套 5 个 StackNavigator)> Stack Navigator(嵌套单个数量的实际内容屏幕)。
为了实现这一点,我在顶层添加了抽屉导航器,嵌套现有的选项卡导航器:
<Drawer.Navigator
initialRouteName="MainTabNav"
drawerContent={props => <DrawerMenu {...props} />}
screenOptions={{
headerShown: false,
}}>
<Drawer.Screen name="MainTabNav" component={MainTabNavigator} />
</Drawer.Navigator>
Run Code Online (Sandbox Code Playgroud)
现在我的问题是:当我从左向右滑动时,抽屉就会出现,只要我将手指放在屏幕上,我就可以看到我的自定义抽屉导航组件。每当我将手指从屏幕上移开时,抽屉式导航就会自动再次关闭。
此外,navigation.dispatch(DrawerActions.openDrawer())从 Stack Navigator 内的 Pressable 调用不会执行任何操作 - 抽屉根本不会打开。
...
import {useNavigation} from '@react-navigation/native';
import {DrawerActions} from '@react-navigation/native';
const DrawerMenuButton = props => {
const navigation = useNavigation();
return (
<Pressable
onPress={() => {
navigation.dispatch(DrawerActions.toggleDrawer());
}}>
...
Run Code Online (Sandbox Code Playgroud)
有谁知道解决这个问题的办法吗?
非常感谢并致以最诚挚的问候智能家居制造商
PS:我的配置如下
"react": "17.0.2",
"react-native": …Run Code Online (Sandbox Code Playgroud) javascript react-native react-navigation-drawer react-navigation-v5
我正在使用 React Native v 0.62.2,并且我正在尝试让我的项目在 Android 上运行。到目前为止,我的开发重点是 iOS,因此从未运行过 Android 应用程序。现在我想运行 Android 应用程序,但在显示闪屏并显示以下堆栈跟踪后,应用程序在启动时崩溃:
\n java.lang.RuntimeException: Unable to create application com.myapp.MainApplication: java.lang.RuntimeException: Requested enabled DevSupportManager, but DevSupportManagerImpl class was not found or could not be created\n at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6612)\n at android.app.ActivityThread.access$1300(ActivityThread.java:233)\n at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1896)\n at android.os.Handler.dispatchMessage(Handler.java:106)\n at android.os.Looper.loop(Looper.java:223)\n at android.app.ActivityThread.main(ActivityThread.java:7523)\n at java.lang.reflect.Method.invoke(Native Method)\n at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)\n at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)\n Caused by: java.lang.RuntimeException: Requested enabled DevSupportManager, but DevSupportManagerImpl class was not found or could not be created\n at com.facebook.react.devsupport.a.a(:90)\n at com.facebook.react.q.<init>(:238)\n at com.facebook.react.r.b(:281)\n at com.facebook.react.t.a(:87)\n at com.facebook.react.t.h(:39)\n …Run Code Online (Sandbox Code Playgroud)