Есть ли рекомендуемый шаблон для передачи реквизита для компонентов-потомков в React?Реагирование: Передача реквизит потомкам
Ниже, я передаю опору callback
дочерней компоненты:
Master = React.createClass({
render: function() {
return (
<div>
<ListComp items={this.props.items} callback={this.handleClick} />
</div>
);
}
});
ListComp = React.createClass({
render: function() {
this.props.items.forEach(function(item) {
items.push(<ItemView item={item} callback={this.props.callback} />);
}, this);
return (
<ul>{items}</ul>
);
}
});
И тогда callback
пропеллера получает дошедший до компонента потомка:
ItemComp = React.createClass({
render: function() {
return (
<li><a onClick={this.handleClick} href="#">Link</a></li>
);
},
handleClick: function(e) {
e.preventDefault();
this.props.callback();
}
});
это правильно передать опора вниз дважды, как это, или я должен как-то ссылаться на ее наследование?
Я вижу способ transferPropsTo
в документации, и от входа, похоже, я мог добраться до callback
из потомка через this.props.__owner__.props
но эти дабл-дабл подчёркивания заставляют меня думать, что я не должен.
Я не вижу проблем с передачей обратного вызова дважды. Это требует немного большего набора текста, но явственно и легко понять. – NVI