类型错误:未定义不是对象(评估“InnerNativeModule.installCoreFunctions”)

Eng*_*faq 4 react-native react-native-reanimated-v2

我的react-native项目正在运行,但今天我厌倦了在andorid上运行它,它给出了 abouve Error TypeError: undefined is not an object (evaluating 'InnerNativeModule.installCoreFunctions')。尝试了很多东西gradlew clean node modules deleted cache-clear但没有任何效果

Eng*_*faq 20

您好,这是解决方案。转到android/app/build.gradle并搜索该行

project.ext.react = [
    enableHermes: false,  // clean and rebuild if changing
]
Run Code Online (Sandbox Code Playgroud)

将此更改为

project.ext.react = [
    enableHermes: true,  // clean and rebuild if changing
]
Run Code Online (Sandbox Code Playgroud)

并在MainApplication.java文件中将这两行添加到顶部

import com.facebook.react.bridge.JSIModulePackage;
import com.swmansion.reanimated.ReanimatedJSIModulePackage;
Run Code Online (Sandbox Code Playgroud)

并添加这个功能

@Override
protected JSIModulePackage getJSIModulePackage() { 
      return new ReanimatedJSIModulePackage(); 
    }
Run Code Online (Sandbox Code Playgroud)

这是屏幕截图在此输入图像描述

bable.config.js文件中添加这些,像这样的行

module.exports = {
  presets: ['module:metro-react-native-babel-preset'],
  plugins: [
    "react-native-reanimated/plugin",
  ],
};
Run Code Online (Sandbox Code Playgroud)

index.js

import 'react-native-gesture-handler'
Run Code Online (Sandbox Code Playgroud)

清理您的项目后,从设备中卸载并再次构建它。干杯!!


小智 9

第 1 步:- 转到android/app/build.gradle

project.ext.react = [enableHermes: false,] // update here true
Run Code Online (Sandbox Code Playgroud)

第 2 步:- 转到android/app/src/main/java[您的包]/MainApplication.java

    import com.facebook.react.bridge.JSIModulePackage;
    import com.swmansion.reanimated.ReanimatedJSIModulePackage;
    
private final ReactNativeHost mReactNativeHost =
      new ReactNativeHost(this) {
...
    @Override
    protected JSIModulePackage getJSIModulePackage() { 
          return new ReanimatedJSIModulePackage(); 
        }
};
Run Code Online (Sandbox Code Playgroud)

第 3 步:- 转到bable.config.js

module.exports = {
  ...
  plugins: ["react-native-reanimated/plugin"],   //add this line
};
Run Code Online (Sandbox Code Playgroud)

第 4 步:- 转到index.js

import 'react-native-gesture-handler'
Run Code Online (Sandbox Code Playgroud)

第 5 步:- 将此命令粘贴到终端上

npx react-native start --reset-cache
Run Code Online (Sandbox Code Playgroud)

第 6 步:清理gradlew,删除android/app下的构建文件并从设备中卸载应用程序

第 7 步:- 运行您的项目