Кажется, есть простой ответ. Рассмотрим это:
var Child = React.createClass({
render: function() {
<a onClick={this.props.onClick.bind(null, this)}>Click me</a>
}
});
var Parent = React.createClass({
onClick: function(component, event) {
component.props // #=> {Object...}
},
render: function() {
<Child onClick={this.onClick} />
}
});
Ключ вызывает bind(null, this)
в событии this.props.onClick
, переданном из родителя. Теперь функция onClick принимает аргументы component
, AND event
. Я думаю, что это лучший из всех миров.
Это была плохая идея: позволить деталям реализации ребенка утечка в родительский элемент никогда не был хорошим путем , См. Ответ Себастьяна Лорбера.