Quiero establecer estos dos valores en el estado para usarlos más tarde como variables.
const [dollarGoal, setDollarGoal] = React.useState(0); const [dollarValue, setDollarValue] = React.useState(0); //fetching donation value fetch('api', { method: 'GET', }) .then(response => response.json()) .then(r => setDollarValue(r.dollarValue)) .then(r => setDollarGoal(r.dollarGoal));Pero da el error:
Property 'dollarGoal' does not exist on type 'void'.¿Cómo puedo solucionar esto?
Prueba esto:
fetch('api', { method: 'GET', }) .then(response => response.json()) .then((r) => { setDollarValue(r.dollarValue) setDollarGoal(r.dollarGoal) }); Las dos últimas declaraciones .then deben combinarse. Al llamar a .then dos veces, está enviando el resultado de setDollarValue() (una función nula) al siguiente .then , que no es lo que desea.
En primer lugar, creo que debería colocar su llamada api dentro de un enlace useEffect, porque si no, la búsqueda se activará nuevamente justo después de establecer los valores de su respuesta con su enlace useState, podría conducir a una llamada infinita cuando será laboral. Entonces, creo que su respuesta podría no contener la propiedad denominada 'dollarValue'. ¿Has probado con console.log tu respuesta?