props.loadingStatus.state(值来自服务器)(值可以是Not Started、Running、Completed)取决于loadingstatus的值,即如果正在运行,则显示进度条+如果状态==完成速度快于500ms,则使进度条可见500ms。
当前结果:我可以看到装载栏,但即使在500毫秒后,它仍然可见。我不确定我的逻辑哪里出了问题。
const App =() => {
const [LoadStat, setLoadStat] = React.useState(props.loadingStatus.state);
React.useEffect(() => {
setTimeout(() => {
if (LoadStat === Running) {
setLoadStat(props.loadingStatus.state);
}
}, 500);
}, []);
return (
<>
{LoadStat && (
<ProgressBar
minValue={0}
maxValue={100}
progress={percentage}
/>
)}
</>
);
}
}
React.useEffect(() => {
if (LoadStat === Running) {
setLoadStat(props.loadingStatus.state);
}
else{
setTimeout(() => {
// hide the progressBar
}, 500);
}
}, []);
我不知道这是否回答了你的问题,但这是我从你的请求中得到的。这样,progressBar将在每次加载状态更改时更新,但在终止后500ms将消失。