J'ai fait des expériences avec ReactVR et j'ai quelques doutes sur la gestion des événements. Selon la documentation de Cusors and Input, trouver le type d'événement est aussi facile que de lire type
de l'événement.Gestion des événements dans ReactVR
Les événements à venir en onInput peuvent encore être filtrés en inspectant le champ de type , qui sera l'un des 'MouseInputEvent', 'KeyboardInputEvent', 'TouchInputEvent', ou 'GamepadInputEvent'
Mais dans le code ci-dessous event.type
donne undefined
.
_onInput(event) {
console.log(event.type);//undefined
}
i a finalement été en mesure de renifler le type d'événement en faisant
_onInput(event) {
let syntheticEvent = event.nativeEvent.inputEvent;
console.log(syntheticEvent.type);
}
Est-ce le comportement attendu ou me manque quelque chose i.
Peu de questions liées
- Devons-nous renifler les événements avec event.nativeEvent?
- Comment pouvons-nous trouver la cible de l'événement, par exemple, si je suis à lier un événement
onInput
à unPlane
, inspecter actuellement leevent.nativeEvent
donne latarget
en tant que valeur numérique? Pas utile du tout. Enfin, la façon ReactJS d'appeler des événements ne semble pas fonctionner dans ReactVR. Par exemple, dans l'ex-nous simplement
<Plane onInput={this._onInput} lit={true} />
Mais ce travail ne marche pas, dans ce dernier nous devons
<Plane onInput={(event) => this._onInput(event)} lit={true} />
Pourquoi est-ce?
Note: J'ai quelques exp avec ReactJS et ZERO avec React Native, je devine ReactVR incline vers ce dernier pardon s'il est évident
erm ... mais il n'a pas encore quitté la portée de la fonction, donc ne devrait-il pas être accessible dans le _onInput()? La question est plus de pourquoi nous accédons au type d'événement de cette manière comme décrit dans la question. – semuzaboi
Il est bien décrit dans les docs: https://facebook.github.io/react/docs/events.html –