Je suis nouveau sur ReactJS et sur React-Router. J'ai un composant qui reçoit via des accessoires un <Link/>
objet de react-router . Chaque fois que l'utilisateur clique sur un bouton «suivant» dans ce composant, je souhaite appeler l' <Link/>
objet manuellement.
À l'heure actuelle, j'utilise des références pour accéder à l' instance de support et en cliquant manuellement sur la balise «a» qui <Link/>
génère.
Question: Existe - t-il un moyen d'invoquer manuellement le lien (par exemple this.props.next.go
)?
Voici le code actuel que j'ai:
//in MasterPage.js
var sampleLink = <Link to="/sample">Go To Sample</Link>
<Document next={sampleLink} />
//in Document.js
...
var Document = React.createClass({
_onClickNext: function() {
var next = this.refs.next.getDOMNode();
next.querySelectorAll('a').item(0).click(); //this sounds like hack to me
},
render: function() {
return (
...
<div ref="next">{this.props.next} <img src="rightArrow.png" onClick={this._onClickNext}/></div>
...
);
}
});
...
Voici le code que j'aimerais avoir:
//in MasterPage.js
var sampleLink = <Link to="/sample">Go To Sample</Link>
<Document next={sampleLink} />
//in Document.js
...
var Document = React.createClass({
render: function() {
return (
...
<div onClick={this.props.next.go}>{this.props.next.label} <img src="rightArrow.png" /> </div>
...
);
}
});
...