我一直在使用 reanimated 在我们的应用程序中实现一些不错的 60fps 动画。
我在 0.60.3 上使用 react Native,所以我使用快速刷新功能。
我有一个问题,如果我编写任何包含 reanimated 的内容,因此在 UI 线程而不是 js 上执行,重新加载不起作用,无论是快速刷新还是完全重新加载应用程序。一个完整的,停止应用程序并再次构建它可以让它工作。
这是发生的事情:
假设我正在尝试为 Animated.View 的 translateY 设置动画。我编写了代码,它可以工作。如果我对代码中的任何内容进行更改(即使只是再次保存代码而不更改任何内容),动画将完全停止工作。如果我将我的 Animated.View 交换为普通视图,保存,重新加载,将其更改回 Animated.View,再次保存重新加载它会再次工作,直到我对重新激活的代码进行更改。正常的 JS 更改虽然有效。
无论我是在模拟器中还是在设备上,它对 iOS 和 Android 都是一样的。
我试图找出可能导致这种情况的原因。我假设正在发生的事情是 Metro 更新了 JS 代码,但是“过桥”的所有内容都没有得到更新。
但这应该怪谁呢?是 Metro、Node、React Native 还是别的什么?任何回应表示赞赏,这让我发疯。