ReactVR中的事件处理

时间:2017-09-26 07:39:07

标签: javascript virtual-reality webvr react-360

一直在试验ReactVR,我对处理事件几乎没有疑问。根据Cusors and Input中的文档,找出事件的类型就像阅读事件的type一样简单。

  

进入onInput的事件可以通过检查进一步过滤   type字段,它将是< MouseInputEvent'之一,   ' KeyboardInputEvent',' TouchInputEvent',或者' GamepadInputEvent'

但在下面的代码中event.type给出了undefined

_onInput(event) {
    console.log(event.type);//undefined
}

我最终能够通过

来嗅探事件类型
_onInput(event) {
    let syntheticEvent = event.nativeEvent.inputEvent;
    console.log(syntheticEvent.type);
}

这是预期的行为还是我错过了什么。

几个相关问题

  1. 我们是否必须使用event.nativeEvent?
  2. 嗅探事件
  3. 我们如何找出事件的目标,例如我是否要绑定 onInput的{​​{1}}事件,目前正在检查。{1}} Planeevent.nativeEvent作为数值?不 很有帮助。
  4. 最后,ReactJS调用事件的方式似乎不起作用 ReactVR。例如,在前者我们只是

    target

    但这不起作用,后者我们必须

    <Plane onInput={this._onInput} lit={true} />
    

    为什么会这样?

  5. 注意:我有一些带有ReactJS的ReactJS和带有React Native的ZERO,我猜想如果很明显,ReactVR会向后者赦免

1 个答案:

答案 0 :(得分:0)

这是因为react中的事件对象被重用并且在它离开函数作用域后立即被刷新,因此你必须将它存储为变量以供进一步使用。