2017-01-05 2 views
3

j'ai préparé ce qui suit Réagissez composant (React la version 1.5.2):React Composant passe objet proxy au lieu de l'objet de l'événement à la fonction de gestionnaire

var QuickSearch = React.createClass({ 
 

 
    searchHandler: function(){ 
 
     this.props.parent.props.dataSource.search = this.refs.SearchInput.value; 
 
     this.props.parent.props.dataSource.setPage(1); 
 
     this.props.parent.getData(); 
 
    }, 
 

 
    refreshHandler: function(){ 
 
     this.props.parent.props.dataSource.search = this.refs.SearchInput.value; 
 
     this.props.parent.getData(); 
 
    }, 
 

 
    myEventHandler: function(evt){ 
 
     console.log(evt); 
 
     if(evt.keyCode === 13) { 
 
      evt.stopPropagation(); 
 
      this.searchHandler(); 
 
     } 
 
    }, 
 

 

 
    render: function(){ 
 

 
     /* Translation function from table model */ 
 
     _ = this.props.parent.props.table_model.gettrans; 
 

 
     return(
 
      <div className="reactable-quicksearch-wrapper"> 
 
       <input ref="SearchInput" type="text" onKeyPress={this.myEventHandler} placeholder={_('Search phrase...')} /> 
 
       <button ref="SearchButton" type="button" onClick={this.searchHandler}>{_('Search')}</button> 
 
       <button ref="RefreshButton" type="button" onClick={this.refreshHandler}>{_('Refresh')}</button> 
 
      </div> 
 
     ); 
 
    } 
 

 
});

fonction MyEventHandler comme "evt" passe objet Proxy contenant « cible » (essentiellement une entrée) et gestionnaire:

Proxy { <target>: Object, <handler>: Object } 

Je ne suis pas sûr pourquoi, mais il semble se comporter comme « s ubmit "(??) Quoi qu'il en soit, d'après ce que j'ai lu réagit devrait passer l'objet d'événement standard, mais ce n'est pas le cas.

Qu'est-ce qui peut causer ce genre de comportement?

Répondre

1

Ceci est le comportement attendu. React n'utilise pas d'événements natifs pour résoudre les incohérences de navigateur et utilise SyntheticEvent s. Quelque chose a l'air bizarre. Le nom de classe IIRC est SyntheticEvent, pas Proxy.

+0

Dans proxy contient l'ensemble: [105] est fondamentalement rendu objet d'entrée. – PiWo