tive que add if (!data?.allFeeds) return; no useEffect do feed para solucionar um erro...
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
tive que add if (!data?.allFeeds) return; no useEffect do feed para solucionar um erro...
Olá, Daniel! Como vai?
Obrigado por compartilhar sua solução no fórum.
Isso geralmente é feito para garantir que o código dentro do useEffect só seja executado quando os dados necessários estiverem disponíveis, evitando assim erros que podem ocorrer quando os dados são indefinidos ou nulos.
Esse tipo de abordagem é bastante comum quando trabalhamos com dados assíncronos, como aqueles que vêm de uma API GraphQL. Ao utilizar o operador de encadeamento opcional (?.), você está verificando se data e allFeeds existem antes de tentar acessá-los, o que ajuda a prevenir erros de execução no seu componente.
Por exemplo, se você estiver buscando um feed de dados e, por algum motivo, a requisição ainda não tiver retornado ou falhar, data pode ser undefined. Nesse caso, ao tentar acessar data.allFeeds, você receberia um erro. Com a verificação que você adicionou, o componente simplesmente não tenta acessar allFeeds até que data esteja devidamente carregado.
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!