admin管理员组文章数量:1314480
I am trying to call rest api using useEffect but it's keeping on call rest spi unlimited time.
'user' is from createContext.
Below is the code snippet
useEffect(() => {
const fetchData = async () => {
try {
const recievedUser = await Apis.getUser(user);
setProfile(recievedUser.data);
if (recievedUser.data) {
// console.log(imageUrl)
fetchImage();
}
} catch (error) {
console.log(error.response);
}
};
const fetchImage = async () => {
try {
const response = await Apis.getUserImage(user);
setImageUrl(URL.createObjectURL(response.data));
} catch (error) {
console.log(error);
}
};
fetchData();
}, [user, imageUrl]);
I am trying to call rest api using useEffect but it's keeping on call rest spi unlimited time.
'user' is from createContext.
Below is the code snippet
useEffect(() => {
const fetchData = async () => {
try {
const recievedUser = await Apis.getUser(user);
setProfile(recievedUser.data);
if (recievedUser.data) {
// console.log(imageUrl)
fetchImage();
}
} catch (error) {
console.log(error.response);
}
};
const fetchImage = async () => {
try {
const response = await Apis.getUserImage(user);
setImageUrl(URL.createObjectURL(response.data));
} catch (error) {
console.log(error);
}
};
fetchData();
}, [user, imageUrl]);
Share
Improve this question
edited Jan 30 at 13:53
Abhishek Kumar
asked Jan 30 at 13:50
Abhishek KumarAbhishek Kumar
91 bronze badge
1 Answer
Reset to default 5Remove imageUrl
from the dependency array.
For one thing, the effect doesn't rely on it. More importantly, the effect modifies it:
setImageUrl(URL.createObjectURL(response.data));
Modifying the state triggers the effect. Triggering the effect modifies the state. This is an infinite loop.
本文标签: javascriptusing useEffect keep on calling apiStack Overflow
版权声明:本文标题:javascript - using useEffect keep on calling api - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741961258a2407293.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论