reactjs - 如何在 React App 中显示微调器?
问题描述
我有一个 React 应用程序,我想在处理需要一些时间才能完成时显示一个微调器,例如 API 请求,甚至是冗长的状态设置。我尝试过回调,例如:
this.setState({
showSpinner: true,
}, () =>
this.APIgiveMeTheWorld().then(
this.setState({
showSpinner: false,
})
));
和异步功能:
await this.setState({
showSpinner: true,
});
this.APIgiveMeTheWorld().then(
await this.setState({
showSpinner: false,
})
);
但是状态显示showSpinner是真实的(因此我的微调器从未出现)。实现这种功能的最佳方法是什么。
解决方案
我看到你在回调中传递了 setState 的结果then
。你试过了吗:
this.setState({
showSpinner: true,
}, () =>
//should pass a call back function to call right after api return.
this.APIgiveMeTheWorld().then(r => {
this.setState({
showSpinner: false,
})
}));
推荐阅读
- sql - 在 group by 中使用 datetime 日期并在单个 SELECT 中使用 order by 与使用子查询
- apache-spark - 读取 orc 文件时,最新版本的 Hudi(0.7.0、0.6.0)是否可以与 Spark 2.3.0 一起使用?
- excel - 图表并非每次都生成并且有额外的图例
- wix - WIX 如何计算安装所需的空间
- python - 将标准输出(进度条)带到 QTextBrowser 的最佳方法
- mysql - Mysql 错误 BLOB、TEXT、GEOMETRY 或 JSON 列不能有默认值
- openstack - kolla-ansible opnestack,cinder.exception.NoValidBackend:找不到有效的后端
- javascript - 如何在不使用库的情况下手动将 Vuejs 中的 Otp 输入字段 maxlength 限制为 1?
- c - C中结构的通用排序函数
- sql-server - 每天在特定时间发生不必要的自动批量更新正在从所有订阅者上传 SQL Server 合并复制