开发者问题收集

TypeError:null 不是对象(评估‘RNGestureHandlerModule.default.Direction’)

2019-11-20
8902

我对模块 'react-navigation-stack' 有问题,我从 https://facebook.github.io/react-native/docs/navigation#react-navigation 编写了相同的代码。 平台:Android。操作系统: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;

在此处输入图片说明

3个回答

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

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

    import 'react-native-gesture-handler';
    
  2. 清理 Gradle

    cd ./android && ./gradlew clean && cd ..
    
  3. 使用

    react-native run-android --verbose
    
  4. 启动 Android 应用

并确保在 bundler 日志中看到该行:

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

如果您没有看到它,则似乎 bundle 没有将 react-native-gesture-handler 链接到您的应用。

特别检查 1) 如果您有一个 monorepo ,其中移动版本 index.js|tsx 在一个包中,而整个应用在另一个包中 - 应该在移动入口点脚本的顶部添加 import。

KEMBL
2020-04-14

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

{ createStackNavigator }

Leri Gogsadze
2019-11-20

这是修复后的应用程序。 https://snack.expo.io/@whitedragon226/stackdemo

修复了行

import React from 'react';

并添加了一些依赖项

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

此文档 可能会对您有所帮助。

syjsdev
2019-11-20