在React JS上绑定touchstart的正确方法是什么?

Ira*_*lho 15 javascript touch-event reactjs

我正在学习React JS,截至目前我在源代码,测试或官方文档上找不到任何示例.在文档上,touchStart事件被认为是支持但handleTouchStart不起作用.

我发现的唯一地方和实际工作的例子是反应式触摸项目.

以下代码有效,但这是唯一的绑定方式吗?对我来说,它看起来像是一种廉价的解决方法

var MyHeader = React.createClass({
  handleTouchStart: function() {
    console.log('handleTouchStart');
  },
  render: function() {
    return this.transferPropsTo(
        <header onTouchStart={this.handleTouchStart}>{title}</header>
    );
  }
};
Run Code Online (Sandbox Code Playgroud)

这样做的实际方法是什么?

jas*_*via 23

自React v0.14起,您不必再React.initializeTouchEvents(true);手动调用.

http://facebook.github.io/react/blog/2015/10/07/react-v0.14.html#breaking-changes


Oak*_*ley 7

在玩触摸事件时,我添加React.initializeTouchEvents(true)componentWillMount组件生命周期方法,它似乎正常工作.

var MyHeader = React.createClass({
  componentWillMount: function(){
    React.initializeTouchEvents(true);
  },
  handleTouchStart: function() {
    console.log('handleTouchStart');
  },
  render: function() {
    return this.transferPropsTo(
        <header onTouchStart={this.handleTouchStart}>{title}</header>
    );
  }
};
Run Code Online (Sandbox Code Playgroud)


Tot*_*.js 2

嘿,Ira\xc3\xaa!

\n\n

在任何渲染之前,您必须调用 React.initializeTouchEvents(true) 。在这里检查反应文档:http ://facebook.github.io/react/docs/events.html#touch-events

\n