Visual Studio Reaccionar la ruta de la imagen no puede llegar

Josh Winters

Así que tengo un proyecto de estudio visual creado con react.js.

Estoy tratando de vincular una imagen de forma dinámica, pero no lo logro. Este es el código que estoy probando:

En la parte superior, estoy configurando una variable para la primera parte de la ruta:

this.LogoPath = '../images/'

Y luego estoy capturando dinámicamente el nombre de la imagen de una llamada a la API.

this.setState({ imageNamePath: this.state.location.imageName })

Y luego los estoy concatenando:

{`${this.LogoPath}${this.state.location.imageName}`}

En la consola, obtengo:

img src='../images/the-images-name-here.png'

Entonces parece estar funcionando, pero no es así. No obtengo errores y tengo imágenes rotas. Mi mejor suposición es que reaccionar está cambiando las imágenes a algo como:

image-name-here.6a131799.png

Seguramente alguien se ha encontrado con esto antes, pero mi búsqueda en Google me ayudó un poco.

Entonces, ¿cómo consigo que se muestren las imágenes?

Radu Nemerenco

Webpack es una herramienta inteligente. Uno de sus puntos fuertes es la eliminación de archivos / códigos basura del paquete.

Eso significa que si un archivo no se importa usando import myFile from '../myPath/myFile.jpg';o require ('../ myPath / myFile.jpg'); `no será parte del paquete final.

En su caso, no está importando el archivo. En su lugar, está creando una variable de cadena que no significa nada para el paquete web.

Hay diferentes opciones que podrían funcionar en su caso:

Opción 1: preimportar todas las imágenes y asignarlas en un objeto:

import React, {Component} from  'react';
import image1 from '../assets/image1.png';
import image2 from '../assets/image2.png';
import image3 from '../assets/image3.png';

const imageTypes = {
  image1,
  image2,
  image3,
}

export default class MyComponent extends Component {
  constructor(props) {
    super(props);
    this.state = {
      imageType: 'image1'
    }
  }

  render() {
    return (
      <img src={imageTypes[this.state.imageType]} />
    )
  }
}

Opción 2: No recomendado: use require para importar archivos dinámicamente (es posible que se necesiten configuraciones de paquete web para incluir todas las imágenes requeridas posibles en el paquete de producción):

class MyComponent {
  constructor(props) {
    super(props);
    this.state = {
      image: 'file1.png'
    }
  }

  render() {
    return (
      <img src={require(`./assets/${this.state.image}`)} />
    )
  }
}

Opción 3: envíe la imagen de blob (en base64) desde la API.

Le sugiero que utilice la Opción 1 o la Opción 3 , según sus requisitos, tales como: con qué frecuencia se cambiarán / agregarán / eliminarán las imágenes. No es normal importar archivos dinámicamente desde el paquete ReactJS y puede terminar teniendo una imagen inexistente en su proyecto solicitada por los datos que provienen de una fuente externa.

Para la Opción 2 , también puede tener algunos problemas al configurar el paquete web para incluir en el paquete todas las imágenes que probablemente necesitará renderizar, aunque no se hayan importado (codificado) en algún lugar de los archivos JS. Tenga en cuenta que la aplicación React en producción termina siendo una colección de archivos estáticos. Deberá tratarlos de la siguiente manera.

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Android Studio no puede mostrar la imagen en la vista de imagen

Android Studio XML no puede delinear la vista de imagen

La instancia de AWS ubuntu no puede llegar al mundo

Obtener la imagen de la ruta relativa

Obtener la ruta de la imagen JavaFx

La ruta de instalación de Visual Studio está atenuada

Establecer la ruta de la imagen en la plantilla ASP.NET Core + Angular 2 para Visual Studio

Reaccionar la imagen de máscara nativa con otra imagen

Enviar la ruta de la imagen desde el servidor express de node.js para reaccionar al cliente

No se puede convertir la base64 a la ruta de la imagen en Ionic 4

No se puede obtener la ruta de la imagen usando expresiones regulares

no se puede obtener la ruta (url) de la imagen con el método createIcon ()

Ruta de la imagen EasyAdmin

No se puede guardar la imagen con multer y reaccionar

Ruta de la imagen de fondo CSS

¿Cómo cargar la imagen usando la ruta de la imagen en gridview en android studio?

No se puede agregar la ruta de la imagen en phpMyAdmin

No se puede cargar la imagen del archivo: // ruta en Picasso

La ubicación de la ruta de la imagen no se puede ubicar en Eclipse swt

No se puede mostrar la ruta de la imagen correctamente desde la matriz php

No se puede construir dinámicamente la ruta svg reaccionar nativa

No se puede mostrar la imagen cargada con la ruta correcta

¿Cómo corregir "gfortran no puede encontrar la ruta" en la configuración del código de VIsual Studio?

Reaccionar - "TypeError: No se puede leer la propiedad 'imagen' de indefinida" mientras se aplica estilo con CSS

No se puede mostrar la imagen cargada con la ruta correcta

carga de imagen TypeError: no se puede leer la propiedad 'ruta' de indefinido

Reaccionar: image src no está tomando la ruta a través de API. la imagen no está definida

El archivo .jar no puede encontrar la ruta del archivo de imagen

tengo una ruta de ruta donde la identificación puede ser opcional cómo especificarla en rutas en reaccionar

TOP Lista

CalienteEtiquetas

Archivo