我面临获取数据的问题(React,useEffect)
2022-01-08
1082
我尝试从下面给出的 URL 获取数据,有时我能获取到数据,但大多数时候控制台里没有数据。我不知道我尝试使用 async-await 时遇到的问题,但结果是一样的。
https://quiet-forest-82433.herokuapp.com/myorders/ [email protected]
我的代码是:
const {user} = useAuth();
const [totalCart, setTotalCart] = useState({})
useEffect(() => {
const url = `https://quiet-forest-82433.herokuapp.com/myorders/?email=${user?.email}`
fetch(url)
.then(res => res.json())
.then(data => console.log(data))
}, []);
1个回答
useEffect 应该依赖于
user
。
并且在您拥有有效的用户电子邮件之前不要调用 fetch。目前,您的代码将要求 email=undefined,直到用户填充,但 useEffect() 不会再次触发,因为不依赖于用户。
useEffect(() => {
if (!user || !user.email) return
const url = `https://quiet-forest-82433.herokuapp.com/myorders/?email=${user?.email}`
fetch(url)
.then(res => res.json())
.then(data => console.log(data))
}, [user]);
Dave
2022-01-08