首页 > 解决方案 > 防止多次调用 onPress

问题描述

我有一个通过 redux 操作添加项目的底部。

    onPress={() => {
        this.props.navigation.navigate('Home')
        store.dispatch(add(construct(name)))
    }}

有时 onPress 一次点击会被多次调用,它会添加多个项目。我想阻止这种情况。当然我可以做一个布尔值并检查它是否为真,但这不是很优雅的方式。有没有更好的预防方法?

标签: react-native

解决方案


你说的简单方法是定义一个布尔标志,但解决问题的另一种方法是使用 redux-saga。我知道 redux-saga 旨在解决异步操作,但它也可以在这里为您提供帮助。takeLatest这里检查。通过此助手,如果您单击多次,它将仅运行最新的一次。


推荐阅读