如何在React Native中使用requestAnimationFrame。
我用它来实现这样的TouchableOpacity
this.requestAnimationFrame(() => {
if (this.state.scrollEnabled)
this._panel.transitionTo({toValue: 0});
else {
this.setState({scrollEnabled: true}, () => {
this._panel.transitionTo({toValue: height})
})
}
});
并返回此错误
this.requestAnimationFrame不是函数
答案 0 :(得分:8)
您必须从第一行中删除this
:
requestAnimationFrame(() => {
....
});
答案 1 :(得分:1)
实际上,建议不要在react-native中直接使用诸如requestAnimationFrame
之类的计时功能。建议改用TimerMixin
,这样做最终会像原始问题中的代码一样调用它。
因此,也许更好的答案是“您缺少TimerMixin”。
这是解释此位的官方文档:https://facebook.github.io/react-native/docs/timers#timermixin