Sono nuovo di ReactJS e di React-Router. Ho un componente che riceve attraverso oggetti di scena un <Link/>
oggetto da reag-router . Ogni volta che l'utente fa clic su un pulsante "successivo" all'interno di questo componente, desidero richiamare l' <Link/>
oggetto manualmente.
In questo momento, sto usando refs per accedere all'istanza di supporto e facendo clic manualmente sul tag 'a' che <Link/>
genera.
Domanda: esiste un modo per invocare manualmente il collegamento (ad es. this.props.next.go
)?
Questo è il codice attuale che ho:
//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>
...
);
}
});
...
Questo è il codice che vorrei avere:
//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>
...
);
}
});
...