我正在渲染一个ListView,每个项目都是一个TouchableHighlight
,其中onPress
会调度一个动作来加载数据。数据以状态存储,这导致应用程序的另一部分呈现在列表下方。
在Android上,连续按下列表项会导致动画延迟,直到ajax请求完成。有没有办法使突出显示成为优先事项,以便反馈不会延迟?
//Handler
handleOnPress = () => {
dispatch(makeAjaxRequest())
}
// Component
<TouchableHighlight onPress={this.handleOnPress}>
<Text>List item</Text>
</TouchableHighlight>
答案 0 :(得分:0)
如果您以这种方式使用handleOnPress
函数,通过呈现页面,所有onPress
个事件都会调用,如果您修改了handleOnPress
函数,它会导致大量不必要的onPress
函数调用onPress={this.handleOnPress}
支持TouchableHighlight
此功能仅在您按//Handler
handleOnPress = () => {
dispatch(makeAjaxRequest())
}
// Component
<TouchableHighlight onPress={this.handleOnPress}>
<Text>List item</Text>
</TouchableHighlight>
项时调用,它将帮助您减少延迟并正确控制状态。你的代码将是这样的:
instanceof