大佬教程收集整理的这篇文章主要介绍了useEffect 中的 setState 循环应用程序,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么我会收到无限循环错误? React 指的是标有 *
的行:
function Blog() {
const [blog,setBlog] = useState({});
const query = usequery();
async function takeBlog(query) {
const _data = await (await fetch(`${root}/API/blog/${query}`)).Json();
console.log(_data.blog)
setBlog(_.get(_data,'blog',{})); // *
}
useEffect(() => {
takeBlog(query);
},[]);
return (
<div classname="blog_page">
<div classname="container">
<div classname="top">
</div>
<div classname="other ab">
<div classname="left">
<Navbar active='blogs' />
</div>
<div classname="right">
<posts posts={_.get(blog,'articles',[])} />
</div>
</div>
</div>
</div>
);
}
export default Blog;
给你一个解决方案
function Blog() {
const [blog,setBlog] = useState({});
const query = useQuery();
async function takeBlog(query) {
const _data = await (await fetch(`${root}/api/blog/${query}`)).json();
console.log(_data.blog)
setBlog(_.get(_data,'blog',{})); // *
}
useEffect(() => {
const keys = Object.keys(blog);
if (!keys.length) {
takeBlog(query);
}
},[]);
return (
<div className="blog_page">
<div className="container">
<div className="top">
</div>
<div className="other ab">
<div className="left">
<Navbar active='blogs' />
</div>
<div className="right">
<Posts posts={_.get(blog,'articles',[])} />
</div>
</div>
</div>
</div>
);
}
export default Blog;
在 useEffect 中检查博客状态变量作为条件
以上是大佬教程为你收集整理的useEffect 中的 setState 循环应用程序全部内容,希望文章能够帮你解决useEffect 中的 setState 循环应用程序所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。