Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

273
Visualizações
¿Cómo renderizar SVG provenientes de la respuesta de la API usando next/image o <img> en Next.js?

Tengo un montón de svgs provenientes de una respuesta de API, que obtengo dentro useEffect . La respuesta se ve así

 {svg1: 'https://remoteserver.com/assests/svg1.svg', ...and so on}

(Estos svgs no son estáticos y provienen de la carpeta /public . Por lo tanto, no los importo en la parte superior). Quiero representarlos en nextjs usando next/image o la etiqueta <img> normal, pasando la url a src . Sé que next.js por defecto no es compatible con svgs.

 <Image alt='SVG from api' src={response.svg1} width={'45px'} height={'45px'} objectFit='contain' />

De acuerdo con los documentos , esto es posible con dangerouslyAllowSVG , pero aquí existe un riesgo de seguridad, por lo que no quiero seguir esta ruta. Sé que hay paquetes como SVGR y babel-inline-svg para resolver el problema, pero son para usar svgs como componentes de reacción. También probé next-images y withImages dentro de next.config.js .

 const withImages = require('next-images') module.exports = withImages({ reactStrictMode: true, env: { BASE_URL: process.env.BASE_URL }, images: { domains: ['remoteserver.com', 'remoteserver2.com'] }, webpack(config, options) { return config } })

Pero la compilación falla cuando intento next build .

 ./static/images/Logo.png TypeError: unsupported file type: undefined (file: undefined)

¿Qué me estoy perdiendo/haciendo mal aquí? ¿Hay alguna solución alternativa?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Aparentemente, opté por DangerlyAllowSVG y agregué los encabezados CSP. Aún así, svg no se estaba cargando con <Image /> from next/image . Sin embargo, funcionó cuando usé la etiqueta <img> normal. Aunque no estoy seguro de si esta es la mejor solución :)

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda