无法读取未定义的属性“installCoreFunctions”
我正在尝试将 Reanimated 2.0 集成到 iOS React Native swift 项目中并出现以下错误。 Android 应用程序运行良好,但无法解决 iOS 问题。
https://docs.swmansion.com/react-native-reanimated/docs/
错误:需要模块“node_modules/react-native-reanimated/src/Animated.js”,引发异常:TypeError:无法读取未定义的属性“installCoreFunctions”,js 引擎:hermes
软件包信息:
"react": "17.0.2",
"react-native": "0.67.0",
"react-native-reanimated": "2.3.1"
Hermes 已启用。
为重新动画设置了 Babel 插件
多次完成 node_module 清除和缓存重置。
你还没有完成插件配置,在这种情况下它看起来像是 BABEL 问题
请阅读 => https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation
确保你完成了那里的所有操作,如果你完成了这里的所有操作但仍然不起作用,请尝试
npm:
npm start --reset-cache
yarn:
yarn start --reset-cache
如果仍然......则删除“node_modules”并通过“yarn”或“npm”重新下载它们(如果你在 Mac 上进行 iOS 开发,则必须“cd ios && pod install”)
rm -rf node_modules
您是否已将 Reanimated 的 babel 插件添加到 babel.config.js?如下所示:
module.exports = {
...
plugins: [
...
'react-native-reanimated/plugin',
],
};
也可能存在权限错误,请尝试运行
chmod +rwx ./node_modules
我使用
initWithBundleURL
来初始化 rootView,我将其更改为
initWithBridge
,这有助于我解决问题。
RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self
launchOptions:launchOptions];
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
moduleName:@"appname"
initialProperties:initialProps ];
您可能必须实现
sourceURLForBridge
这样的操作
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
}