- useEffect 是专门用来处理副作用的,所以可以在 useEffcet 内发送请求获取数据
- 注意:Effect 只能是一个同步函数,不能使用async
- 原因:如果 Effect 是 async 的 ,此时返回值是 Promise 对象 ,这样的话,就无法保证清理函数被立即调用
- 为了使用 async/await 语法 , 可以在 Effect 内部再次创建 async 函数并调用
useEffect(() => {
async function fetchMyAPI() {
let url = 'http://something/' + productId
const response = await myFetch(url)
}
fetchMyAPI()
}, [productId])