我最近从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);
}
我的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;
非常感谢任何见解
编辑:我尝试更改为onTouchEnd,因为onTouchTap不再可用。但是,我仍然遇到同样的问题。
编辑:从移动设备本身可以正常工作。但是,我无法通过Chrome移动模拟器开始使用它答案 0 :(得分:2)
正如Mathletics所说,onTouchTap
不能用作事件。但是,您可以尝试使用此插件以简化操作https://github.com/zilverline/react-tap-event-plugin
答案 1 :(得分:0)
strlen(a)
不再作为活动提供。请read the docs on TouchEvents选择适当的活动。你可以绑定:
TouchTap
答案 2 :(得分:0)
如果您只想捕获点击事件,请使用onClick。事件onTouchStart,onTouchEnd等。是拖放事件。对于滑动,您需要第三方库,如react-hammerjs。