Você poderia usar o refprop para adquirir uma referência ao objeto HTMLInputElement subjacente por meio de um retorno de chamada, armazenar a referência como uma propriedade de classe e, em seguida, usar essa referência para acionar posteriormente um clique de seus manipuladores de eventos usando o método HTMLElement.click .
Em seu rendermétodo:
<input ref={input => this.inputElement = input} ... />
Em seu manipulador de eventos:
this.inputElement.click();
Exemplo completo:
class MyComponent extends React.Component {
render() {
return (
<div onClick={this.handleClick}>
<input ref={input => this.inputElement = input} />
</div>
);
}
handleClick = (e) => {
this.inputElement.click();
}
}
Observe a função de seta ES6 que fornece o escopo léxico correto para thiso retorno de chamada. Observe também que o objeto que você adquire dessa forma é um objeto semelhante ao que você adquiriria usando document.getElementById, ou seja, o nó DOM real.