javascript - ReactJS 语义 ui Loader:如何切换为活动状态
问题描述
我有以下加载程序(active
已注释,因为默认情况下不得看到加载程序):
import React from 'react'
import { Dimmer, Loader, Segment } from 'semantic-ui-react'
const DefaultLoader = () => (
<Segment>
<Dimmer
//active
page={true}>
<Loader />
</Dimmer>
</Segment>
)
export default DefaultLoader;
我不确定如何active
在需要时更改道具。我有这样加载的组件:
render() {
return (
<div className='Lesson-editor'>
<DefaultLoader />
...
...
</div>
);
}
我想在这个函数完成之前显示加载器:
const lessonID = await ARSaveLesson(lesson, sectionsToDB);
谢谢你。
解决方案
您需要设置一个活动状态并将其作为道具传递,以使您的加载器处于活动或非活动状态。
const DefaultLoader = (props) => (
<Segment>
<Dimmer
active = {props.active}
page={true}>
<Loader />
</Dimmer>
</Segment>
)
保持活跃状态,
state = {active:false}
并将此状态传递给DefaultLoader
<DefaultLoader active={this.state.active} />
现在,当您想显示加载程序时,请执行此操作,
this.setState({active:true})
要使其处于非活动状态,请执行此操作,
this.setState({active:false})
推荐阅读
- d3.js - D3.js 链接两个大小适合文本的矩形
- java - 我可以在 Java 中定义 Negatable 接口吗?
- c# - 如果激活了一个,则阻止一个执行操作(C# UNITY)
- symfony - Sonata admin 不推荐使用设置模板的方法?
- php - 在laravel 5中查询时格式化日期
- selenium - 切换到具有 xml-style-view 而不是 selenium 中的 web-view 的新选项卡/窗口
- java - org.hibernate.AnnotationException: 未知的 Id.generator: GenreIdGenerator
- reporting-services - Rownumber(Nothing) 如何工作以及我们如何根据数据动态使用 Rownumber(Nothing) 'MOD 3'?在 SSRS 报告中
- javascript - 如何使键盘按钮不会在 javascript 中发送垃圾邮件。(造成延迟)
- node.js - 如何基于创建字段后触发的firebase云功能创建Stripe客户