Eu tenho um componente DialogueWindow geral:
function DialogueWindow({elements}) {
return (
<div className="backdrop">
<dialog className="dialogue-window">
{elements}
</dialog>
</div>
)
}
export default DialogueWindow
Ele exibe dentro dele todos os elementos aos quais é passado. Atualmente, estou passando um elemento FileUploader, que tem um botão de cancelar para o usuário fechar a caixa de diálogo.
Em App.js:
<DialogueWindow
elements={
<FileUploader/>
}
/>
No FileUploader:
function FileUploader() {
...
return (
<div className="file-uploader">
...
<div className="file-uploader-button-container">
<button>
Upload
</button>
<button>
Cancel
</button>
</div>
</div>
)
}
export default FileUploader
Percebi que em JavaScript padrão você chama document.getElementById() para buscar o elemento de diálogo e, em seguida, chama o método close() nele. Mas como isso funciona em React?