React-native and redux animation performance onPress



我正在渲染一个ListView,每个项目都是一个带有onPressTouchableHighlight,该调度一个操作来加载数据。数据存储在状态中,这会导致应用的另一个部分呈现在列表下方。

在 Android 上,连续按列表项会导致动画延迟到 ajax 请求完成之后。有没有办法使突出显示成为优先事项,以便反馈不会延迟?

//Handler
handleOnPress = () => {
dispatch(makeAjaxRequest())
}
// Component
<TouchableHighlight onPress={this.handleOnPress}>
<Text>List item</Text>
</TouchableHighlight>

如果以这种方式使用handleOnPress函数,通过渲染页面,所有onPress事件都会调用,如果您修改onPress道具以onPress={this.handleOnPress},则会导致大量不需要的调用handleOnPress函数,该函数只会在您按下TouchableHighlight项时调用,它将帮助您减少延迟并正确控制状态。 你的代码将是这样的:

//Handler
handleOnPress = () => {
dispatch(makeAjaxRequest())
}
// Component
<TouchableHighlight onPress={this.handleOnPress}>
<Text>List item</Text>
</TouchableHighlight>

最新更新