我正在开发一个React Native应用,该应用同时使用多个react-native-reanimated
动画。在这之间,状态会发生一些变化,从而导致render()
个周期。这些render()
周期中的某些周期最多需要100ms
,尤其是在较旧的设备上,并且render()
在运行时会进行动画处理,因此有必要将动画与{{ 1}}个周期。也许render()
的性能可以优化(我们打算这样做),但是我认为其中一些仍然可以持续至少2-3个动画帧,因此动画和render()
的同步仍然可以
这可以通过多种方式实现,但是我能想到的最简单的方法是在render()
周期中使用可预测的时间。如果我们知道render()
与setState()
一起至少需要 render()
,那么排除了情况“ 100ms
在动画终止之前”,这将大大简化整个过程。所以我需要这样的API:
render()
通过这种方式,this.suspendGuiUpdates();
this.setState(newState);
setTimeout(() => {
this.resumeGuiUpdates();
}, 100);
和setState()
方法可以完成工作,但是我们保证GUI更新至少在 render()
之后进行我们已经开始了更改。
React或React Native中有这样的功能吗?