I want to set both of these values in the state to be used later as 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));
But it gives the error:
Property 'dollarGoal' does not exist on type 'void'.
How do I fix this?
Advertisement
Answer
Try this:
fetch('api', {
method: 'GET',
})
.then(response => response.json())
.then((r) => {
setDollarValue(r.dollarValue)
setDollarGoal(r.dollarGoal)
});
The last two .then statements need to be combined. By calling .then twice, you’re sending the result of setDollarValue() (a void function) to the next .then, which is not what you want.