触摸在Chrome移动模拟器中使用ReactJS升级破坏的事件

kat*_*kat 6 javascript mobile touch-event reactjs

我最近从React 0.10升级到了React 0.14.最初我收到的错误React.initializeTouchEvents不是函数.我读了一些文档,声称在最新版本的React中对初始化的需求已经消失了,所以我废除了它.但是,现在,我的项目中没有注册触摸事件.我需要做些什么才能让他们再次工作?

下面我已经包含了一些简单的测试代码,我写了这些代码来试验这个问题的解决方案.目前根本没有注册触摸事件.

我的主要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);
}
Run Code Online (Sandbox Code Playgroud)

我的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;
Run Code Online (Sandbox Code Playgroud)

任何见解将不胜感激

编辑:我尝试更改为onTouchEnd,因为onTouchTap不再可用.但是,我仍然遇到同样的问题.

编辑:从移动设备本身可以正常工作.但是,我无法通过Chrome移动模拟器将其运行起来

Mat*_*ics 0

TouchTap不再作为活动提供。请阅读有关 TouchEvents 的文档以选择适当的事件。您可以绑定:

onTouchCancel onTouchEnd onTouchMove onTouchStart
Run Code Online (Sandbox Code Playgroud)