我正在使用react-native-map,它在ios和android上运行良好。
我的本机版本是0.61.2。但是在ios中,当我单击map时,显示警告“-[RCTRootView cancelTouches]`已过时,将很快被删除。”。
这是什么,以及如何删除此警告?
看到这个提交现在在反应本地0.61+
尽管它说已弃用,但根据此拉取请求中的对话,它将被添加回react-native核心。
您可以将其关闭,直到反应团队删除警告为止:
console.ignoredYellowBox = ['Warning: `-[RCTRootView cancelTouches]`'];
或者您将本机降级到低于0.61的版本。
一些库,例如react-native-gesture-handler仍然调用cancelTouches方法。这就是为什么您看到此警告。
I was using react-native-gesture-handler which gave this warning on debug mode and caused crashes in release builds on both android and ios. Fixed the crashes by adding import 'react-native-gesture-handler'
at the top level of index.js.
Muhammed的答案基本上是正确的,但是为了阻止崩溃,您还需要将应用程序包装在React Native Gesture Handler HOC中,如下所示:
index.js
import 'react-native-gesture-handler' import { gestureHandlerRootHOC } from 'react-native-gesture-handler';
index.js
AppRegistry.registerComponent(appName, () => gestureHandlerRootHOC(App));
注意您必须具有这些导入作为工作的第一个导入。
这对于React Native 61.2和react-native-gesture-handler 1.4.1都是正确的
注意:官方的React Native文档建议使用该YellowBox
模块来忽略警告。例如:
import {YellowBox} from 'react-native'; YellowBox.ignoreWarnings(['`-[RCTRootView cancelTouches]`']);