我想使用 react-bootstrap 制作一个加载动画,用于等待 API 调用。我知道如何设置状态来启动和停止它,只是不知道如何在 react-bootstrap 中实现。我猜需要使用 Overlay(用于“淡入淡出”效果)和 Spinner,但不确定如何操作。
谢谢!
谢谢!
{loading?<YourComponent/>:<Spinner animation="border" role="status">
<span className="sr-only">Loading...</span>
</Spinner>}
{!loading ? ( team.map(member => ( <Fade in={!loading} timeout={2000}> <Grid item md={3}> <Member teamMember={member} /> </Grid> </Fade> )) ) : ( <Spinner /> )}
- Javier Alejandrohttps://react-bootstrap.netlify.app/components/spinners/#spinners。 在使用 API 请求后,您可以使用此组件直到组件加载完成。像这样: // 首先导入 react-bootstrap Spinner 组件
import {Spinner} from 'react-bootstrap'; 然后编写如下代码 --->
state = {
exampleArray : [],
loading : false
}
componentDidMount(){
this.setState({
...this.state,
loading: true
})
this.fetchItems(url);
};
fetchItems = (url) => {
fetch(url)
.then(response => response.json())
.then((data) => {
this.setState({
loading:false,
exampleArray : [...this.state.exampleArray, data]
})
})
}
render(){
return(
{loading ? <Spinner /> :
exampleArray.map((arr)=> {
return (
<YourComponent
dataName : {arr.dataName}
............ you can pass what you want as a props
/>
)
})
}
)
}
你可以搜索动画:animation.css库。非常简单易用。