React Native 错误:NativeViewGestureView必须用作GestureHandlerRootView的后代

oaxa6hgo  于 2023-10-22  发布在  React
关注(0)|答案(3)|浏览(327)

我已经安装了Gesturedashnpx expo install react-native-gesture-handler),并使用polyfills将其导入到我的 App.tsx 文件的第3行
import 'react-native-gesture-handler';
是由Expo Docs做的,由于某种原因,它似乎仍然不工作,即使在运行npx expo start --clear(清除缓存),它会给我这个错误:

Error: NativeViewGestureHandler must be used as a descendant of GestureHandlerRootView.
Otherwise the gestures will not be recognized.
See https://docs.swmansion.com/react-native-gesture-handler/docs/installation for more details.
yhuiod9q

yhuiod9q1#

好吧,原来我是愚蠢的,我从react-native-gesture-handler而不是react-native导入TouchableOpacity对不起,但也许可以帮助别人,所以只是在这里发布解决方案:)快乐编码

ctrmrzij

ctrmrzij2#

您可能已经从react-native-gesture-handler导入了TouchableOpacity或RefreshControl,请从react-native导入

bd1hkmkf

bd1hkmkf3#

看起来这是react-native-gesture-handler背后的团队最近做出的改变。最近出现了一个GitHub问题,并已通过以下评论解决:https://github.com/gorhom/react-native-bottom-sheet/issues/1373#issuecomment-1550661599
“我通过在项目的根目录添加GestureHandlerRootView Package 器(例如App.tsx)修复了这个问题。您可以在www.example.com找到说明https://docs.swmansion.com/react-native-gesture-handler/docs/installation/#js“
所以你的代码看起来像这样:

<GestureHandlerRootView>
// your code
</GestureHandlerRootView>

相关问题