我有一个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);