可能是因为第一次点击时数据还没有加载完成,所以需要在点击按钮时延迟一定时间再渲染数据,或者使用异步加载数据的方法保证数据先加载完成。示例代码如下:
const handleClick = async () => {
try {
// 异步加载数据
const data = await fetchData();
// 等待一段时间再渲染数据
setTimeout(() => {
setData(data);
}, 500);
} catch (error) {
console.log(error);
}
};