Esto me parece muy tonto, pero tengo este problema. Puede alguien ayudarme con esto. Entonces, tengo una API que estoy obteniendo algunos datos y parece que la respuesta de la API tiene un formato de datos como este:
start-time:2323232 end-time:2332323Ahora, cuando estoy en mi componente de representación de reacción, intento mostrar los datos de esta manera:
{data.start-time}De hecho, recibo un error que dice que el tiempo no está definido. ¿Hay alguna regla que no podamos leer/mostrar datos en JSX con un separador o algo así? O, alguien sabe como puedo solucionar ese problema. Cualquier ayuda sería muy apreciada.
No puede utilizar start-time como identificador. necesita usar corchetes para acceder a la propiedad en este caso
data["start-time"]
Para más referencia Accesores de propiedad de objeto
Solo puede usar la notación de puntos si el nombre de la propiedad es un identificador de JavaScript válido.
En JavaScript , los identificadores distinguen entre mayúsculas y minúsculas y pueden contener letras Unicode ,
$,_y dígitos (0-9), pero no pueden comenzar con un dígito.
Se debe acceder a las propiedades que no son identificadores válidos a través de la notación de paréntesis .
const data = { name: "stopwatch", "start-time": 2323232, "end-time": 2332323 }; console.log(data.name); // <- valid identifier console.log(data["start-time"]); // <- invalid identifier