Middle
Dê exemplos do que se pode fazer com o hook useEffect, além de fazer solicitações ao servidor.
sobes.tech IA
Resposta da IA
-
Gestão do estado do título da página (
document.title). -
Subscrever e cancelar subscrição de eventos do navegador (por exemplo, alteração de tamanho da janela, cliques fora do elemento):
useEffect(() => { const handleResize = () => { console.log('O tamanho da janela mudou'); }; window.addEventListener('resize', handleResize); return () => { window.removeEventListener('resize', handleResize); }; }, []); // Array de dependências vazio: o efeito executa-se uma vez na montagem e limpa-se na desmontagem. -
Trabalhar com armazenamento local (leitura/escrita de dados):
useEffect(() => { const savedValue = localStorage.getItem('myInputValue'); if (savedValue) { setInputValue(savedValue); // Assume-se que existe um estado inputValue e uma função setInputValue } }, []); // Carregar valor na montagem. useEffect(() => { localStorage.setItem('myInputValue', inputValue); // Guardar ao alterar inputValue. }, [inputValue]); // Dependência de inputValue. -
Inicialização de bibliotecas ou componentes de terceiros.
-
Configuração e limpeza de temporizadores (
setTimeout,setInterval):useEffect(() => { const timerId = setInterval(() => { console.log('O temporizador está a funcionar'); }, 1000); return () => { clearInterval(timerId); // Limpeza do intervalo na desmontagem. }; }, []); -
Acompanhamento de alterações em props ou estado e execução de ações em resposta.
-
Focar em um elemento ao montar o componente:
useEffect(() => { inputRef.current.focus(); // Assume-se que existe uma ref inputRef }, []);