Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Uso do ref nos parametros do componente Modal

Olá! Na parte inicial do curso onde ocorre a refatoração do modal, o ref que está sendo recebido no componente Modal qual a função dele? E porque foi criado uma variável dialogRef dentro desse componente?

const Modal = forwardRef<ModalHandle, ModalProps>(
  ({ icon, titulo, children, aoClicar }, **ref**) => {
    **const dialogRef = useRef<HTMLDialogElement>(null);**
1 resposta
solução!

Oi, tudo certo?

Qual a função do ref no componente Modal?

O ref está sendo passado de fora para dentro do componente Modal através do forwardRef. Isso serve para que o componente pai tenha acesso a funções ou elementos internos do Modal, mesmo ele estando "encapsulado".

Por exemplo, imagine que o pai queira abrir ou fechar o modal chamando diretamente um método do componente Modal, como modalRef.current.abrirModal(). Isso só é possível se o Modal expor esse método via ref, com a ajuda do forwardRef.

E por que existe o dialogRef dentro do Modal? O dialogRef é um ref interno, criado dentro do Modal, que aponta diretamente para o elemento <dialog> HTML (ou qualquer outro container do modal). Isso permite que o componente controle ações internas, como abrir ou fechar o dialog com dialogRef.current?.showModal() ou close().

aBS;