As equipes React enfrentam dois problemas na mesma tarde: a chave da API nunca deve chegar ao navegador, e uma grade de veículos não deve pular enquanto carrega. Resolva onde seus segredos vivem, envie URLs para o cliente, e ambos os problemas deixam de existir.
Uma busca a partir de um componente cliente entrega sua chave a qualquer pessoa que abrir o devtools. Resolva veículos em um manipulador de rota, um componente servidor ou seu próprio backend, e o navegador só vê URLs de imagens finalizadas.
Resolva uma vez, passe URLs para baixo, deixe o navegador cachear. Nada inteligente acontece aqui, e esse é o ponto.
npm i vehicleimagery, depois crie o cliente onde seus segredos já vivem, não dentro de um componente.
Um VIN, uma placa de carro ou marca, modelo e ano entram. URLs de imagens para cada ângulo voltam.
Seu cartão aceita uma string. Nenhum provedor, nenhum contexto, nenhuma busca do lado do cliente, nenhuma cascata de carregamento.
Um wrapper de proporção fixa mais um parâmetro de largura que corresponde ao tamanho renderizado remove o deslocamento de layout antes que ele possa acontecer.
Traga imagens de veículos para o seu produto sem trabalho pesado. Documentação clara, SDKs abertos e plugins prontos se conectam ao seu stack em minutos, e a nossa página de estado mostra ao vivo como a API está.
O deslocamento de layout em uma grade de veículos é quase sempre uma imagem sem tamanho. Solicite a largura que o cartão realmente renderiza, envolva-o em uma caixa de proporção fixa, e a grade se estabiliza na primeira pintura em vez de se estabilizar duas vezes.
A maioria dos códigos React começa com uma imagem de placeholder e uma promessa de corrigi-la depois. A correção geralmente chega como uma busca do lado do cliente dentro de um componente de cartão, e é aí que os problemas começam: a chave é exposta, cada cartão abre sua própria solicitação e a grade reflui à medida que as respostas chegam em momentos diferentes. A API é rápida, mas o padrão está errado.
A versão que se mantém é sem glamour. Resolva veículos onde você já carrega dados de listagem, mantenha as URLs resultantes no objeto de listagem e deixe os cards renderizarem uma tag img com uma largura que combine com o layout. O navegador faz cache pela URL, o CDN cuida do resto e sua árvore de componentes deixa de saber que existe uma API de imagens.
Pode, mas não deve. Um componente cliente roda no navegador, então a chave viaja com ele. Resolva em um manipulador de rota, um componente servidor ou no seu backend e passe as URLs como props.
Sim, e é a melhor integração. Resolva dentro do componente do servidor que carrega a listagem, depois renderize a URL diretamente. Nada sobre a integração alcança o pacote do cliente.
Não, e de propósito. O pacote npm é agnóstico de framework e retorna URLs. Uma imagem de veículo é uma tag img, e envolver isso em um componente que controlamos só atrapalharia seu sistema de design.
Dê à imagem um contêiner de proporção fixa e solicite a largura que você renderiza. Como a moldura é idêntica entre veículos, uma proporção funciona para toda a grade.
Um placeholder neutro na mesma proporção. Como a URL é conhecida antes da renderização, as imagens geralmente carregam sem um passo visível de placeholder.
Sim. As URLs são URLs de imagem HTTPS comuns, então o componente de imagem as consome diretamente. Resolva no seu backend, exatamente como faria para a web.
Diga-nos como são os seus dados de listagem e quais tamanhos os seus cards usam. Retornamos com URLs de imagens prontas para inserir nos seus componentes.