React native 错误:无法解析模块“反应本机手势处理程序”`

React native 错误:无法解析模块“反应本机手势处理程序”`,react-native,React Native,我尝试在react native中使用导航。。 我添加了:npm安装——保存反应导航 但它给了我这样一个错误: 错误:绑定失败:错误:无法从C:\reactnative\proejectName\node\u modules\@react navigation\native\src\Scrollables.js中解析模块react native手势处理程序:模块react native手势处理程序在Haste模块映射中不存在 这是索引: import { AppRegistry } from '

我尝试在react native中使用导航。。 我添加了:
npm安装——保存反应导航

但它给了我这样一个错误:

错误:绑定失败:错误:无法从
C:\reactnative\proejectName\node\u modules\@react navigation\native\src\Scrollables.js中解析模块
react native手势处理程序
:模块
react native手势处理程序
在Haste模块映射中不存在

这是索引:

import { AppRegistry } from 'react-native';
import App from './App';
import { name as appName } from './app.json';

AppRegistry.registerComponent(appName, () => App);
{
  "name": "ProjectName",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": "16.8.3",
    "react-native": "0.59.1",
    "react-native-sqlite-storage": "^3.3.10",
    "react-navigation": "^3.5.1"
  },
  "devDependencies": {
    "@babel/core": "7.4.0",
    "@babel/runtime": "7.4.2",
    "babel-jest": "24.5.0",
    "eslint-config-rallycoding": "^3.2.0",
    "jest": "24.5.0",
    "metro-react-native-babel-preset": "0.53.1",
    "react-test-renderer": "16.8.3"
  },
  "jest": {
    "preset": "react-native"
  }
}
这是app.js

import React from 'react';
import { createStackNavigator, createAppContainer, } from 'react-navigation';
import First from './src/Components/First';
import DescriptionPage from './src/Components/DescriptionPage';


const Navigation = createStackNavigator({
  First: {
    screen: First,
  },
  DescriptionPage: {
    screen: DescriptionPage,
  },
});

const App = createAppContainer(Navigation);

export default App;
这是package.json:

import { AppRegistry } from 'react-native';
import App from './App';
import { name as appName } from './app.json';

AppRegistry.registerComponent(appName, () => App);
{
  "name": "ProjectName",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": "16.8.3",
    "react-native": "0.59.1",
    "react-native-sqlite-storage": "^3.3.10",
    "react-navigation": "^3.5.1"
  },
  "devDependencies": {
    "@babel/core": "7.4.0",
    "@babel/runtime": "7.4.2",
    "babel-jest": "24.5.0",
    "eslint-config-rallycoding": "^3.2.0",
    "jest": "24.5.0",
    "metro-react-native-babel-preset": "0.53.1",
    "react-test-renderer": "16.8.3"
  },
  "jest": {
    "preset": "react-native"
  }
}

您还需要在项目依赖项列表中单独安装
react native手势处理程序
,并将其与native链接起来。请参考这个


希望这有帮助。快乐编码

在react本机项目中找不到手势处理程序。运行此命令

npm install react-native-gesture-handler

快乐编码

使用以下命令安装

yarn add react-native-gesture-handler
然后链接特定项目中的库

react-native link react-native-gesture-handler
react-native link react-native-gesture-handler

确保您的react导航版本为3.11.0


然后
npm安装react native手势处理程序
命令

如果您正在运行mac,请执行以下操作:

  • 删除
    node\u模块
    package lock.json
  • npm安装
  • npm安装--保存反应导航
  • npm安装--保存反应本机手势处理程序
  • cd-ios
  • pod安装
  • 然后在此处为新来者再次运行

  • 如果您使用的是expo,只需运行以下命令即可为您的react本机版本安装相应的版本
  • 请注意,
    createStackNavigator
    已被移动到
    react navigation stack
    ,因此右侧导入变为:

  • 有同样的问题。解决方法是:

    npm uninstall react-native-gesture-handler --save
    
    npm install react-native-gesture-handler --save
    

    在我的例子中,安装了
    react原生手势处理程序
    ,但我卸载了它并重新安装

    1:卸载

    npm uninstall react-native-gesture-handler --save
    
    2:安装

    npm install react-native-gesture-handler --save
    
    3:链接

    react-native link react-native-gesture-handler
    
    4:重新启动npm

    npm restart 
    


    如果您正在使用expo,则必须通过expo命令进行安装:

    expo install react-native-gesture-handler
    

    我也有同样的问题,在我的例子中,react原生手势处理程序本身的安装失败了。我使用的是react原生版本0.61.5。由于某些原因,我的项目未安装最新版本的react native手势处理程序。我通过安装特定版本的react原生手势处理程序解决了这个错误

       npm install --save react-native-gesture-handler@1.3.0
    

    希望这有帮助

    如果您正在升级到SDK 39

    运行以下命令:

    expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view
    

    谢谢。

    使用以下命令安装

    yarn add react-native-gesture-handler
    
    对于React本机版本
    react-native link react-native-gesture-handler
    
    react-native link react-native-gesture-handler
    

    它正在工作

    "react-native-gesture-handler": "^1.8.0",
    
    使用此选项而不是

    "react-native-gesture-handler": "1.8.0",
    

    删除^

    如果在安装依赖项之前已启动应用程序,则可能需要在手机或模拟器上重新安装应用程序。我就是这样

    安装依赖项后,我需要:

  • 从emulator中删除应用程序
  • 通过终端再次运行
    android
    (或
    npm运行android
  • 它解决了我的问题


    注意:我没有使用我有时会遇到这个问题,即使在安装npm包之后,它仍然会抛出错误。您可以尝试将以下行添加到应用程序的顶级组件/文件中,例如
    index.js

    import "react-native-gesture-handler"
    

    我通过以下方式解决了这个问题:

  • 运行npx反应本机链接反应本机手势处理程序

  • 从设备卸载调试应用程序

  • 运行
    npx react本机运行android

  • 如果您愿意,也可以使用npm:

    npm install --save react-native-gesture-handler
    

    来自

    的参考您的
    包.json看起来像什么?为了使用react导航,您还必须安装react原生手势处理程序:@MaykedaRosaHerbst如果您查看
    手势处理程序
    库,然后,您将了解为什么
    react navigation
    devs会使用它来保持导航转换的平滑和性能。当我尝试安装时,出现错误“npm ERR!enonent undefined ls remote-h-t”我对sqlite有一些问题,我创建了insert-fetch-delete函数,但由于某些原因它对我不起作用。你能帮帮我吗?Complementando:
    npm我反应本机手势处理程序--保存和反应本机链接
    是的,需要为这个添加链接位!请将代码和数据添加为文本(),而不是图像。图片:A)不允许我们复制和粘贴代码/错误/数据进行测试;B) 不允许基于代码/错误/数据内容进行搜索;和。一般来说,文本格式的代码/错误/数据>>>>图像格式的代码/错误/数据>>无。除了代码格式的文本之外,如果图像添加了一些重要的内容,而这些内容并不仅仅通过文本代码/错误/数据来传达,则只能使用图像。say链接仅适用于android中的react native v0.59和belowuse!!通常来自相应的官方github回购协议及其发行说明: