Error: [Reanimated] `valueUnpacker` is not a worklet, js engine: hermes
我是 React Native 的新手,这个错误并没有给我带来太多麻烦。我想知道如何解决这个问题。这里似乎有很多未被提及的类似问题,所以我想知道这是新问题还是常见问题。
Error: [Reanimated] `valueUnpacker` is not a worklet, js engine: hermes
我确实无法提供足够的代码示例,但当我收到此错误时,我刚刚启动了一个带有react-native-draggable-flatlist 的功能。
- - 更新 - - -
我深入了解了什么是工作单元,并开始学习 React Natvie Reanimate 库,发现我需要在 babel.config.js 中包含以下内容
module.exports = function (api) {
api.cache(true)
return {
presets: ['babel-preset-expo'],
plugins: ['react-native-reanimated/plugin'],
}
}
这导致我出现了一个新错误:
Error: [Reanimated] Mismatch between JavaScript part and native part of Reanimated (3.5.1 vs 3.3.0).
See `https://docs.swmansion.com/react-native-reanimated/docs/guides/troubleshooting#mismatch-between-javascript-part-and-native-part-of-reanimated` for more details., js engine: hermes
我按照提供的步骤进行操作,但该包只有一种实现:
└─┬ react-nati[email protected]
└── [email protected]
然后我在 package.json 中设置了覆盖,但我仍然遇到与 mixmatch 相同的问题。我甚至使用 -c 标志启动 expo 来重置缓存。
所以我找到了这个解决方案:
解决方案:检查升级react-native-reanimated后是否重建了应用程序。如果您使用 Expo Go,则必须使用捆绑到 Expo SDK 中的确切版本。
https://docs.expo.dev/versions/latest/sdk/reanimated/
如果您关注我,请在开始此过程之前删除覆盖,否则您会遇到一些问题。
确保将以下内容添加到 package.json:yarn add react-native-reanimated
和
yarn add react-native-gesture-handler
。
然后执行以下步骤
1-import "react-native-gesture-handler";
到 App.tsx
2- npx expo start -c
如果您使用 CLI 运行以下命令 npx react-native start --reset-cache
我希望它有帮助