我在我的项目中使用抽屉导航,而不是在项目中的任何地方使用手势处理程序,只是将其安装为抽屉导航的支持库并重新启动,但我收到一条警告消息,上面写着 -
WARN [react-native-gesture-handler] None of the callbacks in the gesture are worklets. If you wish to run them on the JS thread use '.runOnJS(true)' modifier on the gesture to make this explicit. Otherwise, mark the callbacks as 'worklet' to run them on the UI thread. [Component Stack]
我看到很多与此错误相关的帖子,其中提到设置了 .runOnJs(true) 但我很困惑它在哪里以及我必须在哪里更改。我是一个初学者,我以前使用过抽屉导航,但从未遇到过这种错误。
如何解决这个问题?
要解决
react-native-gesture-handler
的警告,您可以尝试以下方法:
更新软件包:确保您的
react-navigation
、react-native-reanimated
和 react-native-gesture-handler
软件包已更新到最新版本。
添加
runOnJS(true)
:如果您在代码中使用手势,请通过添加以下内容确保回调在 JavaScript 线程上运行:
const gesture = Gesture.Tap().runOnJS(true);
正确初始化
react-native-gesture-handler
:
确保库已正确初始化:
import 'react-native-gesture-handler';
如果这些都不能解决问题,您可以忽略开发环境中的警告。