Компонент React не вызывает обработчик onClick

У меня есть компонент, созданный с синтаксисом класса es6. Это простой компонент с разнообразным стилем. Затем в родительском компоненте (называемом приложением) я хотел бы отобразить этот компонент и дать ему onClick, который вызывает родительский обработчик onclick. До сих пор родитель визуализировал дочерний элемент следующим образом:

<child_component onClick={this.clickhandler}>

И затем у меня есть метод в этом родительском компоненте, который я привязал к родительскому контексту в конструкторе.

Компонент отображается, но обработчик кликов никогда не вызывается, когда я нажимаю на компонент. Есть идеи, почему?


person Silvertail    schedule 31.01.2017    source источник


Ответы (1)


Поскольку дочерний компонент не является родным элементом DOM, а является другим компонентом React, onClick, как определено здесь, является просто свойством этого компонента. Что вам нужно сделать, так это внутри дочернего компонента передать реквизит onClick событию onClick компонента DOM:

var ChildComponet= React.createClass({
 render: function() {
 return (
   <div className="childcomponent" onClick={this.props.onClick}>
   ...
    </div>
  );
 }
 });
person rrr    schedule 31.01.2017
comment
Как вы это называете, если он находится во внешнем файле? - person Angel Esguerra; 02.08.2020