小编the*_*ker的帖子

React Native 抽屉导航总是自动关闭

我有一个使用 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

3
推荐指数
1
解决办法
2074
查看次数

React Native 应用程序在 Android 上启动时崩溃:找不到类“com.facebook.react.devsupport.DevSupportManagerImpl”

我正在使用 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)

crash android classnotfoundexception react-native

2
推荐指数
1
解决办法
5168
查看次数