Estoy usando axios para enviar una solicitud a un recurso que expone html en el backend. Cuando envío la solicitud GET, recibo un objeto como respuesta. Cuando imprimo la respuesta con console.log(), rompe la aplicación React debido a que la respuesta es un objeto y no el html que estoy esperando.
Actualmente estoy tratando de especificar el tipo de respuesta: 'documento' en la configuración. Pero eso no parece funcionar. Todavía obtengo un objeto con el error:
"Error: los objetos no son válidos como elementos secundarios de React (encontrado: [promesa de objeto]). Si quería representar una colección de elementos secundarios, use una matriz en su lugar".
En última instancia, necesito terminar con un <div></div> que pueda incrustar en mi página de React.
import axios from 'axios'; const examplePage = "example.com/example" export const requestExamplePage = async () => { const {data} = await axios.get(examplePage, {responseType: 'document}) return data }El error:
"Error: Objects are not valid as a React child (found: [object Promise]). If you meant to render a collection of children, use an array instead." En realidad significa que estás tratando de hacer una promesa. ¿Estás seguro de que esa es la forma correcta de desestructurar la solicitud? data deben ser un html entre comillas dobles (cadena) y también necesita dangerouslySetInnerHtml SetInnerHtml para inyectarlo en un div.
Prueba esto:
export const requestExamplePage = async () => { const {data} = await axios.get(examplePage, {responseType: 'document'}) return ( <div dangerouslySetInnerHTML={{ __html: data }} /> ) }Asegúrese de que los datos sean una cadena html real.