Eu sou novo no ReactJS e no React-Router. Eu tenho um componente que recebe por meio de adereços um <Link/>
objeto do react-router . Sempre que o usuário clica em um botão 'próximo' dentro deste componente, desejo chamar o <Link/>
objeto manualmente.
No momento, estou usando refs para acessar a instância de backup e clicando manualmente na tag 'a' que <Link/>
gera.
Pergunta: Existe uma maneira de chamar manualmente o Link (por exemplo this.props.next.go
)?
Este é o código atual que tenho:
//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>
...
);
}
});
...
Este é o código que eu gostaria de ter:
//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>
...
);
}
});
...