加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

react-native – React Native Prevent Double Tap

发布时间:2020-12-15 20:54:11 所属栏目:百科 来源:网络整理
导读:我有一个TouchableHighlight包装一个Text块,当点击时,会打开一个新场景(我正在使用react-native-router-flux). 这一切都很好,除了你快速点击TouchableHighlight这一事实,场景可以渲染两次. 我想阻止用户快速点击该按钮. 在Native中实现这一目标的最佳方法是
我有一个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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读