将React render()周期的结果延迟特定时间?

时间:2019-10-06 10:42:02

标签: reactjs react-native animation

我正在开发一个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中有这样的功能吗?

0 个答案:

没有答案