【发布时间】:2020-01-17 00:18:27
【问题描述】:
我正在尝试通过处理后端 API 的效果挂钩来设置组件的状态。由于这只是一个模拟,我想使用 vanilla react 方法而不是 redux-saga 之类的方法。
问题在于,当获取部分工作时,useState 挂钩不会更新状态。
const [odds, setOdds] = useState({})
useEffect(() => {
(async () => {
fetchMock.once('odds', mocks.odds)
let data = await fetch('odds').then(response => response.json())
setOdds(data)
console.log(odds, data) // {}, {...actual data}
})()
}, [])
我试图在 fetch 之上通过管道传输整个过程
fetch('odds')
.then(res => res.json())
.then(data => setOdds(data))
.then(() => console.log(odds)) // is still {}
但这并没有什么区别。
我做错了什么?
【问题讨论】:
标签: reactjs react-hooks fetch-api