类型错误:null 不是对象(评估 'RNGestureHandlerModule.default.Direction')

IT技术 android reactjs react-native react-navigation node-modules
2021-04-28 00:05:49

我有module问题,'react-navigation-stack'我从https://facebook.github.io/react-native/docs/navigation#react-navigation编写了相同的代码平台:安卓。操作系统: ubuntu

import { createAppContainer } from 'react-navigation';
import { createStackNavigator } from 'react-navigation-stack';
import SearchScreen from './scr/screen/SearchScreen';

const navigator = createStackNavigator(
    {
        Search: SearchScreen
    },
    {
        initialRouteName: 'Search',
        defaultNavigationOptions: {
            title: 'App'
        }
    }
);
const App = createAppContainer(navigator);
export default App;

在此处输入图片说明

4个回答

我是如何解决RNGestureHandlerModule.default.Direction错误的:

  1. 确保将该导入放在入口点脚本文件的顶部

    import 'react-native-gesture-handler';
    
  2. 干净的摇篮

    cd ./android && ./gradlew clean && cd ..
    
  3. 启动 Android 应用程序

    react-native run-android --verbose
    

并确保您在捆绑器日志中看到该行:

> Task :react-native-gesture-handler:compileDebugJavaWithJavac

如果您没有看到它,看起来 bundle 没有将 react-native-gesture-handler 链接到您的应用程序。

尤其要检查 1) 如果您有一个带有移动版本 index.js|tsxmonorepo在一个包中,而整个应用程序在另一个包中 - 应在移动入口点脚本的顶部添加导入。

尝试createStackNavigator周围添加花括号如下所示:

{ createStackNavigator }

这是固定的应用程序。 https://snack.expo.io/@whitedragon226/stackdemo

固定线路

import React from 'react';

并添加一些依赖项

...
    "react-native-screens": "^1.0.0-alpha",
    "react-native-gesture-handler": "^1.0.0"

这个文档可能会帮助你。

我认为这是错误或我不知道。https://reactnavigation.org/docs/en/getting-started.html执行所有操作后,您需要在设备中重新安装应用程序。我希望它对你有用。