如何多次使用 fetch get 响应?
How do I use a fetch get response more than once?
我想在状态中设置这两个值以供以后用作变量。
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));
但是报错:
Property 'dollarGoal' does not exist on type 'void'.
我该如何解决这个问题?
试试这个:
fetch('api', {
method: 'GET',
})
.then(response => response.json())
.then((r) => {
setDollarValue(r.dollarValue)
setDollarGoal(r.dollarGoal)
});
最后两个 .then
语句需要合并。通过两次调用 .then
,您将 setDollarValue()
(无效函数)的结果发送到下一个 .then
,这不是您想要的。
首先,我认为您应该将 api 调用放在 useEffect 挂钩中,因为如果不这样做,在您使用 useState 挂钩设置响应值后会立即再次触发提取,它可能当它工作时会导致无限调用。
然后,我认为您的回复可能不包含名为 'dollarValue' 的 属性。
你试过 console.log 你的回应了吗?
我想在状态中设置这两个值以供以后用作变量。
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));
但是报错:
Property 'dollarGoal' does not exist on type 'void'.
我该如何解决这个问题?
试试这个:
fetch('api', {
method: 'GET',
})
.then(response => response.json())
.then((r) => {
setDollarValue(r.dollarValue)
setDollarGoal(r.dollarGoal)
});
最后两个 .then
语句需要合并。通过两次调用 .then
,您将 setDollarValue()
(无效函数)的结果发送到下一个 .then
,这不是您想要的。
首先,我认为您应该将 api 调用放在 useEffect 挂钩中,因为如果不这样做,在您使用 useState 挂钩设置响应值后会立即再次触发提取,它可能当它工作时会导致无限调用。 然后,我认为您的回复可能不包含名为 'dollarValue' 的 属性。 你试过 console.log 你的回应了吗?