1
resposta

[Dúvida] form é possivelmente 'null'?

Seguindo os passos da aula, me deparei com o seguinte erro. Não sei qual o erro que cometi.

imagem

1 resposta

Bom dia, Guilherme. Quando a gente está interagindo com os elementos do DOM em TS, esse aviso é comum de acontecer. O TS está somente te alertando que a const form pode ser null caso não encontre o elemento form no HTML. Para contornar isso, você pode fazer uma validação para garantir que o formulário realmente exista nesse ponto do código. Por exemplo:

const form = document.querySelector('form');

if (!form) {
  throw new Error('Formulário não encontrado');
}

form.addEventListener('submit', (event) => {
  event.preventDefault();
});

Ou, você pode usar a asserção de não-nulo (!) para deixar explícito ao TS que você tem certeza de que o valor não será null ou undefined.

const form = document.querySelector('form');
form!.addEventListener('submit', (event) => {
  event.preventDefault();
  // Handle form submission
});

Usando o !, você está dizendo ao TS: "Confie em mim, isso nunca será null." Se você estiver absolutamente certo de que o elemento form sempre estará presente no DOM quando esse código for executado. Mas se houver alguma possibilidade de que o formulário não esteja presente, a verificação ajuda a evitar erros inesperados e fornece uma maneira de lidar com a ausência do formulário de maneira controlada.

Espero ter ajudado, qualquer dúvida eu estou a disposição.

Bons estudos