我有一个TouchableHighlight包装一个Text块,当点击时,会打开一个新场景(我正在使用react-native-router-flux).
这一切都很好,除了你快速点击TouchableHighlight这一事实,场景可以渲染两次.
我想阻止用户快速点击该按钮.
这一切都很好,除了你快速点击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);