Javascript Chrome Mobile Emulator中的ReactJS升级导致触摸事件中断
我最近从React 0.10升级到React 0.14。最初,我收到一个Javascript Chrome Mobile Emulator中的ReactJS升级导致触摸事件中断,javascript,mobile,reactjs,touch-event,Javascript,Mobile,Reactjs,Touch Event,我最近从React 0.10升级到React 0.14。最初,我收到一个React的错误。initializeTouchEvents不是一个函数。我阅读了一些文档,其中声称在最新版本的React中不再需要此初始化,因此我取消了它。但是,现在我的项目中没有记录任何触摸事件。我需要做什么才能让他们重新工作 下面我包含了一些简单的测试代码,我写这些代码是为了尝试解决这个问题。目前根本没有记录任何触摸事件 我的主js文件: /** @jsx React.DOM */ var React = requi
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);
}
/**@jsx React.DOM*/
var React=要求('React');
var ReactDOM=require('react-dom');
var TestButton=require('components/common/TestButton');
试一试{
var-lander=();
render(lander,document.getElementById('myContainer');
}
捕获(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;
/**@jsx React.DOM*/
var React=要求('React');
var TestButton=React.createClass({
getInitialState:函数(){
返回{
文本:“单击此处!”,
};
},
切换:函数(){
log('in toggle');
如果(this.state.text==“单击此处!”){
这是我的国家({
文字:“干得好!”,
});
}否则{
这是我的国家({
文本:“单击此处!”,
});
}
},
渲染:函数(){
返回(
{this.state.text}
);
},
});
module.exports=TestButton;
如有任何见解,将不胜感激
编辑:由于onTouchTap不再可用,我尝试更改为onTouchEnd。然而,我仍然有同样的问题
编辑:这在移动设备本身上运行良好。但是,我无法从Chrome mobile emulator上运行,TouchTap不再作为事件提供。请选择适当的事件。您可以绑定:
onTouchCancel onTouchEnd onTouchMove onTouchStart
正如Mathletics所说,
onTouchTap
不能作为事件使用。但是,如果您只想使用onClick捕获点击事件,可以尝试使用此插件使事情变得更简单。事件开始、结束等。是拖放事件。对于刷卡,您需要像react hammerjs这样的第三方库。我将上述代码中的onTouchTap
更改为onTouchEnd
,但仍然没有发生任何事情谢谢您,我将对此进行调查。有没有想过为什么onTouchEnd对我也不起作用?