reactjs - 无法在反应中改变状态
问题描述
我是一个初学者,无法弄清楚为什么我的 setData 函数没有改变我的数据变量的状态,即使在我 setData 到对象之后它仍然是一个空数组,下面是代码
const [isLoading, setIsLoading] = useState(true);
const [data, setData] = useState([]);
const books = async () => {
try {
const response = await fetch(
" https://openlibrary.org/books/OL7353617M.json"
);
const heaven = await response.json();
setData(heaven);
setIsLoading(false);
console.log(heaven);
console.log(data);//**[]**
} catch (err) {}
};
React.useEffect(() => {
books();
}, []);
if (isLoading) {
return <h2>isLoading...</h2>;
}
// const {};
return (
<section>
<h2>Loaded</h2>
</section>
);
}
export default App;```
what am i missing? please someone help
解决方案
推荐阅读
- laravel - 广播 laravel 事件和多个频道
- configuration - TYPO3的配置涉及哪些语言?
- python - 如何将python中的列表转换为numpy数组以放入张量流
- python - 如何使用另一个数组中的值更新 numpy 数组的所有值
- string - 如何将集合传递给函数参数?
- uwp - 未检测到 UWP Enter 键按下
- c# - 在 Angular 7 中配置和使用 Dotnet Core Web API
- amazon-web-services - 正确转义很长的 systemd 命令序列
- powershell - 在 PowerShell 中删除包含特定字符串的文件的目录
- android - Android studio gradle 脚本找不到 Pattern 类