Estoy usando react js y usando mongo db. Estoy tratando de obtener datos por fetch. pero recibo este tipo de error: No detectado (en promesa) SyntaxError: final inesperado de la entrada JSON
const [product, setProduct] = useState({}); useEffect(() => { const url = `http://localhost:5000/product/${id}`; fetch(url) .then((res) => res.json()) .then((data) => setProduct(data)); }, [id]);
Su código en useEffect es correcto, la razón por la que puede recibir este error se debe a
puede confirmar esto reemplazando res.json() con res.text() y luego consola.log it
Debe incluir una llamada .catch()
en su cadena de llamadas de método fuera de fetch
, para que pueda manejar errores o entradas mal formadas desde su API. El error dice que está "no capturado" porque no hay una cláusula de catch
.
es decir
fetch(url) .then((res) => res.json()) .then((data) => setProduct(data)) .catch((error) => console.error("Something went wrong: ", error))