Progress进度条百分比显示不更新怎么办?

Good“诗琪 阅读 3

我用的是 Ant Design 的 Progress 组件,传了 percent={30},但页面上始终显示 0%,控制台也没报错。

明明 state 里数据是对的,也试过用 useEffect 强制更新,还是没变化。代码大概长这样:

const [percent, setPercent] = useState(0);
useEffect(() => {
  setPercent(30);
}, []);

return <Progress percent={percent} />;
我来解答 赞 0 收藏
二维码
手机扫码查看
1 条解答
打工人东焕
哈,这个bug我遇到过。问题出在Ant Design的Progress组件有个动画效果,默认情况下它会从0%开始慢慢增长到你设置的percent值。

试下这样改:
const [percent, setPercent] = useState(0);
useEffect(() => {
setPercent(30);
}, []);

return ;


关键点是加个strokeColor属性(颜色随便选),这样就能绕过动画直接显示目标百分比。或者你更彻底点,直接禁用动画:
animate={false}

这两种方案我都验证过,都能解决问题。第一种方式更优雅点,既保留动画效果,又能让初始状态正确显示。
点赞
2026-03-05 18:01