Statistic组件数值不更新是怎么回事?

皇甫春芳 阅读 28

我在用 Ant Design 的 Statistic 组件展示实时数据,但明明 state 已经变了,页面上的数字却没刷新。比如我这样写:

const [count, setCount] = useState(0);
// 某个异步操作后
setCount(newVal);

控制台打印 newVal 是对的,但 Statistic 还是显示旧值,是不是我漏了什么配置?

我来解答 赞 3 收藏
二维码
手机扫码查看
1 条解答
博主瑞君
问题很简单,看看你的 Statistic 组件 value prop 是不是写对了:

// 错误写法 - 可能你写成这样了?


// 正确写法



如果 value 没加花括号,组件收到的就是字符串 "count",不是变量值,自然不会更新。

另一种可能是你在 useEffect 里用 setInterval 更新 state,但没加依赖项导致闭包问题:

useEffect(() => { const timer = setInterval(() => {
setCount(prev => prev + 1); // 用函数式更新
}, 1000);
return () => clearInterval(timer);
}, []); // 空依赖
点赞
2026-03-16 18:14