Saltar al contenido

Evitar doble toque en React native

Luego de de una extensa recopilación de información hemos podido solucionar esta dificultad que tienen algunos de nuestros usuarios. Te brindamos la respuesta y deseamos resultarte de gran apoyo.

Solución:

https://snack.expo.io/@patwoz/withpreventdoubleclick

Utilice este HOC para ampliar los componentes táctiles como TouchableHighlight, Button…

import debounce from 'lodash.debounce'; // 4.0.8

const withPreventDoubleClick = (WrappedComponent) => 

  class PreventDoubleClick extends React.PureComponent 

    debouncedOnPress = () => 
      this.props.onPress && this.props.onPress();
    

    onPress = debounce(this.debouncedOnPress, 300,  leading: true, trailing: false );

    render() 
      return ;
    
  

  PreventDoubleClick.displayName = `withPreventDoubleClick($)`
  return PreventDoubleClick;

Uso

import  Button  from 'react-native';
import withPreventDoubleClick from './withPreventDoubleClick';

const ButtonEx = withPreventDoubleClick(Button);


Usar propiedad Button.disabled

import React,  Component  from 'react';
import  AppRegistry, StyleSheet, View, Button  from 'react-native';

export default class App extends Component 
  
  state=
    disabled:false,
  
  
  pressButton() 
    this.setState(
      disabled: true,
    );
    
    // enable after 5 second
    setTimeout(()=>
       this.setState(
        disabled: false,
      );
    , 5000)
  
  
  render() 
    return (
        

Si está utilizando la navegación de reacción, utilice este formato para navegar a otra página.
this.props.navigation.navigate(key:"any",routeName:"YourRoute",params:param1:value,param2:value)

El StackNavigator evitaría que las rutas tengan el mismo keys para ser empujado en la pila de nuevo. Podrías escribir algo único como el key y el params prop es opcional si desea pasar parámetros a otra pantalla.

valoraciones y reseñas

Tienes la posibilidad comunicar este escrito si te valió la pena.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *