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

139
Visualizações
Accesorios de TypeScript como matriz de objetos o cadena

Recibiré una url de accesorios que podría ser una cadena o una matriz de objetos como:

 type VideoSrcProps = { url?: string; day?: string; }; interface OwnProps { url: VideoSrcProps[] | string; }

Pero mi implementación no funciona porque recibo que Property 'url' does not exist on type 'string | VideoSrcProps' Property 'url' does not exist on type 'string'

¿Cómo se debe cambiar?

Más código:

Estoy comprobando que vendrá una serie de cadenas como

 const srcIsArray = Array.isArray(url) ? true : false; const notSingleArrayVideo = srcIsArray && url.length > 1 ? true : false;

Y entonces

 useEffect(() => { const preloadVideos = async () => { if (srcIsArray && notSingleArrayVideo) { const preloadedVideos = []; for (const video of url) { const response = await axios({ url: video?.url, method: 'GET', responseType: 'blob', }); const downloadedVideo = window.URL.createObjectURL(new Blob([response.data])); preloadedVideos.push({ url: downloadedVideo }); } if (preloadedVideos.length === url.length) { setPreloadedVideos(preloadedVideos); } } }; if (srcIsArray && notSingleArrayVideo) { preloadVideos(); } }, []);

El problema es con url: video?.url

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

0

Tienes un error en esto:

const notSingleArrayVideo = srcIsArray && url.length > 1 ? true : false;

TS no restringirá su tipo cuando use un valor almacenado fuera de un ternario .

Debe usar la condición directamente en su declaración if , o hacer un if y regresar.

 type VideoSrcProps = { url?: string; day?: string; }; interface OwnProps { url: VideoSrcProps[] | string; } function test (url: OwnProps) { if (Array.isArray(url.url)) { for (const video of url.url) { console.log(video.url); } } }
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