0

我的任务是一个已经启动的项目,该项目将 React Native Reanimated 库作为依赖项。

每当我使用 Vscode/Chrome 调试器调试我的应用程序时,当我导航到任何具有依赖于 Reanimated 的组件的屏幕时,我一直得到global.performance.now的不是一个函数。

我已经看到TypeError: global.performance.now is not a function in react native但在最新版本中,它已经更改为已接受的问题答案所暗示的内容。

我已尝试按照答案中的建议降级react-native-reanimated并打2.2.4补丁,但随后我开始收到各种错误,例如Property ' stopObservingProgress' doesn't exist.

我也尝试过 2.3.1,但也有不同的拦截器错误。

我也试过有和没有爱马仕。

禁用调试可以消除错误,但我(显然)无法调试。使用 Flipper 进行调试可以正常工作,但使用 Flipper 进行调试会极大地减慢我的工作流程(例如,在 Vscode 和 Flipper 之间切换并尝试查找文件以放置断点,无法在我调试的同一位置进行编辑等。Flipper 不是我的事)而且我想用 Vscode 调试,不用 Reanimated 也能完美运行。

我想摆脱 Reanimated 库,但不幸的是已经有很多代码依赖它,包括一个没有其他替代方案直接依赖于 Reanimated 的库。

如何调试包含 React Native Reanimated with Vscode 的应用程序?

4

2 回答 2

1

当我们使用复活版 2 时,它仍然是一个已知且未解决的问题,你可以在复活的文档中找到这个。由于库使用 JSI 进行同步本地方法访问,因此不再可能进行远程调试。您可以使用 Flipper 来调试 JS 代码,但是目前不支持将调试器连接到运行在 UI 线程上的 JS 上下文。目前只有 Flipper 是调试使用 JSI 进行同步本机模块调用的本机应用程序的方式。

于 2022-03-05T10:13:10.730 回答
0

好的,经过进一步调查,我发现这确实是可能的。我一直在使用的一些依赖项的最新版本存在一些其他问题,这掩盖了原始问题。使用正确的依赖组合并遵循https://fbflipper.com/docs/extending/debugging/https://thinhtran3588.medium.com/make-professional-mobile-apps-with-react-native-and-typescript -debug-your-application-with-vscode-fba067f77445我能够使用 Vscode 调试器正确调试我的应用程序。

于 2022-03-05T15:46:27.050 回答