Lidar com elementos DOM em React pode parecer desafiador no início, especialmente quando se trata de controlar elementos de vídeo. Neste tutorial, vamos nos concentrar em como controlar o elemento de vídeo em seu aplicativo React usando useRef. Você aprenderá como obter referências a elementos DOM e usá-las efetivamente para criar controles personalizados para seus vídeos.

Principais aprendizados

  • Com useRef, você pode criar e gerenciar referências diretas a elementos DOM no React.
  • useEffect ajuda-o a reagir a alterações nos componentes e a executar acções após a renderização.
  • É possível utilizar interações do utilizador para controlar a reprodução de elementos de vídeo, especialmente em relação ao áudio.

Instruções passo a passo

1. Inserir um elemento de vídeo na aplicação

Controlar elemento de vídeo no React com useRef

Também pode ativar os controlos padrão adicionando o atributo controls. Isto permitir-lhe-á reproduzir o vídeo diretamente no browser.

2. Obter acesso ao elemento de vídeo através de useRef

Para obter acesso ao elemento de vídeo por meio de useRef, é necessário criar uma referência na lógica do componente.

Controlar elemento de vídeo no React com useRef

Agora você criou uma referência que aponta para o seu elemento de vídeo.

3. Defina a referência após a primeira renderização

Para realmente usar a referência, é preciso garantir que ela seja definida corretamente após a primeira renderização. Para isso, usamos o gancho useEffect. Este é chamado depois de o componente ter sido renderizado. Adicione um comando console.log para verificar se a referência está correta.

Controlar elemento de vídeo no React com useRef

Agora você pode ver se videoRef.current contém o elemento de vídeo.

4. Reproduzir e pausar o vídeo

Para reproduzir o vídeo, use o método play(). Observe que ele retorna uma Promessa. Também é importante trabalhar com a interação do usuário em algum momento para reproduzir o vídeo. Para tal, adicione um botão que o utilizador possa utilizar para iniciar o vídeo.

Controlar elemento de vídeo no React com useRef

Certifique-se de que o utilizador também interage com a página para que o vídeo possa ser reproduzido corretamente. Se o vídeo não for parado, pode aparecer uma mensagem de erro.

5. atributo silenciado para reprodução automática

Se pretender que o vídeo seja reproduzido automaticamente, o elemento de vídeo tem de ser silenciado no esquema.

6. Resumir os passos e as funções

Resume o que aprendeste: Inseriu um elemento de vídeo na sua aplicação, criou uma referência com useRef, definiu a referência após a renderização e utilizou o método play(). A interação com o utilizador e o atributo muted para vídeos que devem ser reproduzidos automaticamente são importantes aqui.

Resumo

No geral, você aprendeu como usar useRef e useEffect para controlar o elemento de vídeo no React. A capacidade de definir referências a elementos DOM é uma técnica poderosa para criar controles personalizados para vídeos e melhorar a experiência do usuário.

Perguntas frequentes

Como faço para usar useRef para outro elemento DOM?Você pode usar useRef para qualquer elemento DOM, assim como fez para o elemento de vídeo.

Como posso alterar o volume do vídeo?Pode controlar o volume através da propriedade volume do videoRef.current.

O que devo fazer se o vídeo não for reproduzido?Certifique-se de que a interação do utilizador teve lugar e verifique se o vídeo está definido como silenciado.

Posso controlar vários elementos de vídeo com useRef?Sim, pode criar várias referências efectuando várias chamadas useRef e atribuindo uma referência separada a cada elemento de vídeo.