1
resposta

[Sugestão] Remoção da tela de página não encontrada, ao selecionar um player que existe

Olá pessoal, essa é apenas uma sugestão!

Na ultima aula a página de player acabava mostrando a tela de "página não encontrada" rapidamente mesmo quando o player selecionado existia, e isso é meio incômodo kskssksk, então para remover isso eu iniciei o useState de "video" como "null" mas poderia ser uma flag qualquer como "-1" por exemplo, apenas para diferenciar do "undefined" de quando não é selecionado um valor padrão para o useState.

const [video, setVideo] = useState(null);
Depois o "if" que verifica se a página não foi encontrada deve considerar o "null" ou a flag, para saber se de fato não foi encontrada (!video) ou se a página carregou agr e não tem valor para "video" ainda (video !== null), lembrando que no caso de "null", o operador deve ser "!==" para verificar tipo e valor, JavaScript tem dessas -.-
if (!video && video !== null) return <NaoEncontrada />
E por fim, dentro do return da página, usando o operador condicional ternário você verifica apenas se "video" é diferente de "null" (ou seja, já tem os dados), ou se é igual a "null" (ou seja, a requisição ainda está carregando), para nesse caso mostrar um loading enquanto carrega.
return (
        <>
            {
                video !== null ?
                    <>
                        [ conteúdo da página de player ]
                    </>
                :
                    "loading"
            }
        </>
    );
Daí fica só a questão de estilizar o loading sksksksk

Teria uma maneira melhor de fazer isso?

Segue o deploy na Vercel: https://cinetag-alura-henna.vercel.app/

Desculpa caso tenha postado isso no lugar errado, abraços :)

1 resposta

Olá, Luis, como vai?

Muito bacana a solução que você encontrou, isso demonstra um bom entendimento da lógica. Além de resolver o problema de forma eficiente, sua abordagem também melhora a usabilidade da aplicação, pois isso proporciona uma experiência melhor para o usuário evitando a exibição desnecessária da tela de erro.

Continue compartilhando essas ideias e soluções no fórum. Isso enriquece o aprendizado de todos e ajuda a criar um ambiente colaborativo.

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)