react-native – React Native Prevent Double Tap

前端之家收集整理的这篇文章主要介绍了react-native – React Native Prevent Double Tap前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个TouchableHighlight包装一个Text块,当点击时,会打开一个新场景(我正在使用react-native-router-flux).
这一切都很好,除了你快速点击TouchableHighlight这一事实,场景可以渲染两次.
我想阻止用户快速点击该按钮.

在Native中实现这一目标的最佳方法是什么?我查看了手势响应系统,但没有任何例子或类似的东西,如果你是新的,像我一样,令人困惑.

以下工作通过阻止两次路由到同一路由:
import { StackNavigator,NavigationActions } from 'react-navigation';

const App = StackNavigator({
    Home: { screen: HomeScreen },Details: { screen: DetailsScreen },});

// Prevents double taps navigating twice
const navigateOnce = (getStateForAction) => (action,state) => {
    const { type,routeName } = action;
    return (
        state &&
        type === NavigationActions.NAVIGATE &&
        routeName === state.routes[state.routes.length - 1].routeName
    ) ? state : getStateForAction(action,state);
};
App.router.getStateForAction = navigateOnce(App.router.getStateForAction);

猜你在找的React相关文章