【问题标题】:TypeError: null is not an object (evaluating 'RNGestureHandlerModule.default.Direction')TypeError:null 不是对象(评估'RNGestureHandlerModule.default.Direction')
【发布时间】:2020-03-16 05:18:43
【问题描述】:

我对模块'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;

【问题讨论】:

  • 你能分享你对 package.json 的依赖吗?
  • @DragonWhite "dependencies": { "jetifier": "^1.6.4", "react": "16.9.0", "react-native": "0.61.4", "react -native-gesture-handler": "^1.5.0", "react-navigation": "^4.0.10", "react-navigation-stack": "^1.10.3" },
  • 所有错误、代码和数据都必须嵌入为文本,而不是图片。 1) 用户应该能够将(错误消息等)粘贴到他们的搜索引擎或编辑器中以有效地帮助您,并且不会引入拼写错误。 2)图片可能难以阅读文本,尤其是在移动设备上,并且在移动连接上也会占用更多数据。请阅读有关 SO 帮助部分的提问主题:StackOverflow.com/help 了解更多信息。

标签: android reactjs react-native react-navigation node-modules


【解决方案1】:

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

{ createStackNavigator }

【讨论】:

  • 对不起,有花括号。但同样的错误(
  • @bekanur98 好的,不用担心,你安装了 react-native-gesture-handler 包吗?
  • 是的。 npm install --save react-native-gesture-handler 之后 react-native link
  • @bekanur98 好像链接不正确,可以手动检查一下吗?
  • @bekanur98 你用的是哪个版本?
【解决方案2】:

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

固定线路

import React from 'react';

并添加一些依赖项

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

this doc 可以帮到你。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

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

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

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

        react-native run-android --verbose
        

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-13
        • 2020-11-21
        • 2021-05-27
        • 2021-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多