Подтвердить что ты не робот

Как вызвать stopPropagation в реакциях?

Я хочу остановить событие click от бухгалтерии. Поэтому я добавил e.stopPropagation() в свой код. Я всегда Uncaught TypeError: e.stopPropagation is not a function в консоли, в которой говорится Uncaught TypeError: e.stopPropagation is not a function

Каков правильный способ установки stopPropagation в реакциях?

      handleClick: function(index, e) {
        e.stopPropagation();

        ...

    }, 
4b9b3361

Ответ 1

Правильный способ - использовать .stopPropagation,

var Component = React.createClass({
  handleParentClick: function() {
    console.log('handleParentClick');
  },

  handleChildClick: function(e) {
    e.stopPropagation();

    console.log('handleChildClick');
  },

  render: function() {
    return <div onClick={this.handleParentClick}>
      <p onClick={this.handleChildClick}>Child</p>
    </div>;
  }
});

Example

Обработчикам событий будут переданы экземпляры SyntheticEvent, кросс-браузерной оболочки вокруг родного события браузера. Он имеет тот же интерфейс, что и родное событие браузера, включая stopPropagation() и preventDefault(), за исключением того, что события одинаково работают во всех браузерах. Event System