come illustrato nell'esempio seguente, vorrei che MyComponent allegasse dinamicamente un evento "onClick" ai propri figli. L'evento onClick deve attivare alertView che dovrebbe essere in grado di chiamare il metodo dell'elemento su cui si fa clic "getValue".React.js: allegare evento dal genitore ai figli
JSFiddle: http://jsfiddle.net/2g638bp8/
Come fare questo? Grazie
var MyComponent = React.createClass({
alertValue: function() {
// RETRIEVE THE CHILD HERE
alert(child.getValue());
},
render: function() {
var children = React.Children.map(this.props.children, function (c, index) {
return React.addons.cloneWithProps(c, {
ref: 'child-' + index
});
});
return (
<div>
{children}
</div>
);
}
});
var MySubComponent = React.createClass({
getValue: function() {
return this.props.val;
},
render: function() {
return (
<div>{this.props.val}</div>
);
}
});
React.render(
<div>
<MyComponent>
<MySubComponent val="1" />
<MySubComponent val="2" />
<MySubComponent val="3" />
</MyComponent>
</div>,
document.getElementById('container')
);
Grazie per questa risposta utile - è ora vale la pena l'aggiornamento e il vostro violino per utilizzare 'React.cloneElement' invece ..? (a causa del fatto che 'cloneWithProps' è deprecato) –