【发布时间】:2017-09-26 07:39:06
【问题描述】:
一直在尝试 ReactVR,我对处理事件几乎没有疑问。根据Cusors and Input 中的文档,找出事件的类型就像阅读事件的type 一样简单。
进入 onInput 的事件可以通过检查 类型字段,它将是“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);
}
这是预期的行为还是我错过了什么。
几个相关问题
- 我们是否必须使用 event.nativeEvent 来嗅探事件?
- 我们如何找出事件的目标,例如我是否要绑定
onInput事件到Plane,目前正在检查event.nativeEvent将target作为数值?不是 很有帮助。 -
最后,ReactJS 调用事件的方式似乎不起作用 反应VR。例如,在前者中,我们只需
<Plane onInput={this._onInput} lit={true} />但这不起作用,在后者我们必须
<Plane onInput={(event) => this._onInput(event)} lit={true} />这是为什么?
注意:我对 ReactJS 有一些 exp,而对 React Native 有零,我猜 ReactVR 倾向于后者,如果很明显的话
【问题讨论】:
-
一位主要贡献者解释了这一点here。看看吧。
标签: javascript virtual-reality webvr react-360