小编Irf*_*ani的帖子

抽屉导航器无法与 reanimated 2 一起正常工作

所以我正在使用抽屉导航器(反应导航)。一切都工作正常,直到我升级了软件包。这是它的新版本及其依赖项;

"@react-navigation/drawer": "^6.3.1",
"react-native-gesture-handler": "^2.3.2",
"react-native-reanimated": "^2.4.1",
Run Code Online (Sandbox Code Playgroud)

现在的问题是,当我更换屏幕时,抽屉会重新打开,有时后退按钮也无法正常工作,因为它只是打开抽屉而不会带我到其他屏幕。所以我想也许需要复活2。

因此,根据文档,如果我们想使用 reanimated 2,那么我们需要按照这些文档进行设置。

我只是按照文档进行操作,清理项目并重建它,但问题仍然存在。

然后我检查了抽屉导航中的一个道具,useLegacyImplementation其定义为;

是否使用基于Reanimated 1的旧实现。基于Reanimated 2的新实现会表现更好,但需要额外的配置,并且需要使用Hermes和Flipper来调试。

在以下情况下默认为 true:

Reanimated 2 未配置 应用程序已连接到 Chrome 调试器(Reanimated 2 不能与 Chrome 调试器一起使用) 应用程序正在 Web 上运行 否则,默认为 false

我将其设置为 true,问题就消失了。

现在我很困惑为什么这有效。为什么即使我没有配置reanimated 2,问题仍然存在,因为设置useLegacyImplementation: true只是意味着使用reanimated 1(如果我错了,请纠正我)。

所以请解释一下问题的可能原因以及如何解决(虽然解决了但不知道如何)

react-native react-navigation react-navigation-drawer react-native-reanimated-v2

5
推荐指数
0
解决办法
3277
查看次数