2016-03-02 9 views
6

Recentemente ho aggiornato da React 0.10 a React 0.14. Inizialmente ricevevo un errore che React.initializeTouchEvents non era una funzione. Ho letto alcuni documenti che affermavano che la necessità di questa inizializzazione era scomparsa nella versione più recente di React, quindi l'ho eliminato. Ora, tuttavia, nessun evento tattile si sta registrando nel mio progetto. Cosa devo fare per farli funzionare di nuovo?Toccare Eventi interrotti con ReactJS Aggiornamento in Chrome Mobile Emulator

Di seguito ho incluso un semplice codice di prova che ho scritto per provare le soluzioni a questo problema. Al momento nessun evento touch è stato registrato.

mio principale del file js:

/** @jsx React.DOM */ 

var React = require('react'); 
var ReactDOM = require('react-dom'); 
var TestButton = require('components/common/testButton'); 

try { 
    var lander = (<TestButton/>); 
    ReactDOM.render(lander, document.getElementById('myContainer')); 
} 
catch (e) { 
    error.errorHandler(e); 
} 

La mia componente TestButton:

/** @jsx React.DOM */ 

var React = require('react'); 

var TestButton = React.createClass ({ 
    getInitialState: function() { 
    return { 
     text: "Click Here!", 
    }; 
    }, 
    toggle: function() { 
    console.log('in toggle'); 
    if (this.state.text == "Click Here!"){ 
     this.setState({ 
     text: "Good Job!", 
     }); 
    } else { 
     this.setState({ 
     text: "Click Here!", 
     }); 
    } 
    }, 
    render: function() { 
    return (
     <div onTouchEnd={this.toggle}> 
      {this.state.text} 
     </div> 
    ); 
    }, 
}); 
module.exports = TestButton; 

Tutte le comprensioni sarebbe molto apprezzato

EDIT: Ho provato a cambiare per onTouchEnd dal onTouchTap non è più disponibile . Tuttavia, sto ancora avendo lo stesso problema.

MODIFICA: funziona bene da un dispositivo mobile stesso. Tuttavia, non riesco a farlo funzionare dall'emulatore mobile di Chrome

risposta

0

TouchTap non è più disponibile come evento. Si prega di read the docs on TouchEvents per selezionare l'evento appropriato. È possibile associare:

onTouchCancel onTouchEnd onTouchMove onTouchStart 
+0

Ho cambiato 'onTouchTap' nel codice precedente in' onTouchEnd', e ancora non succede nulla – kat

0

Se desideri semplicemente catturare un evento di tocco, usa onClick. Gli eventi onTouchStart, onTouchEnd ect. sono eventi di trascinamento della selezione. Per gli swipes avrai bisogno di una libreria di terze parti come react-hammerjs.

Problemi correlati