我有下面的代码片段,我预计它会导致无限循环,因为在不使用"useint"的情况下,组件体内的获取回调中的状态更新.然而,它的表现并没有如预期的那样.代码如下:
function App() {
const [cartContent, setCartContent] = useState(null);
fetch("https://fakestoreapi.com/carts/6")
.then((resp) => resp.json())
.then((data) => {
setCartContent("test");
});
console.log(cartContent);
return <div className="cartContent">{cartContent}</div>;
}
export default App;
我的理解是,console.log(cartContent)应该记录cartContent的初始值,然后当在获取回调中调用setCartContent("test")时,它应该记录"测试",并且这个过程应该无限期重复,从而创建一个无限循环.
有人能帮助我理解为什么此代码没有像预期的那样导致无限循环吗?任何见解或解释都将不胜感激.谢谢!