Tenía los datos en JSON en una compilación anterior de mi aplicación, pero (con la ayuda de la comunidad de StackOverflow) rediseñé la forma en que llamo a mi API para corregir otros errores importantes.
Esto es lo que acabo de probar. Registro tanto el resultado "regular" como el intento de convertirlo a JSON. La salida que no es json aparece como "{data: Array}" en mi consola mientras que el JSON no está definido.
componentDidMount() { axios .get( "API_KEY" ) .then((res) => { const data = res.data const json = data.json this.setState({ data, loading: false }); console.log(json); console.log(data) }); }Y aquí está mi otro intento:
componentDidMount() { axios.get("API_KEY").then((res) => { const data = res.data; this.setState({ data, loading: false }); console.log(data); console.log(JSON.parse(JSON.stringify(data))); }); }Toda su ayuda y consejos son muy apreciados! :)
Sugeriría una mejor sintaxis usando ES6.
const componentDidMount = async () => { let { data } = await axios.get("API_KEY") // Your data by default should be object or array. // Regardless, both should worked fine. console.log(data) // In case it is just string and not undefined if (data && typeof data !== 'object') { data = JSON.parse(data) } this.setState({ data, loading: false }) }De lo contrario, intente usar breakpoint o console.log en primer lugar después de obtener el resultado. Si el resultado no está definido, quizás la promesa aún no se haya resuelto.