3 回答
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊
exports class Loading extends Component {
state = {
sample: [],
loading: true
};
componentDidMount() {
this.setState({sample: sample, loading: false});
}
render() {
return (
<div>
{this.state.loading ?
<Spinner /> : <Data />
}
</div>
)
}
}
檢查此方法。
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以將狀態(tài)設(shè)置為在發(fā)出請(qǐng)求之前,然后設(shè)置為返回響應(yīng)之后(對(duì)于成功和失敗的響應(yīng))。loadingtrueloadingfalse
async componentDidMount() {
this.setState({
loading: true
}):
this.sampleService
.getAllSample()
.then((sample) => {
this.setState({
sample,
loading: false,
)};
})
.catch((err) => {
console.log(err);
this.setState({
loading: false,
)};
});
}
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以將其設(shè)置為函數(shù),并在 AJAX 調(diào)用之前設(shè)置為 ,并將其設(shè)置為在接收數(shù)據(jù)后。您還可以將其設(shè)置為在錯(cuò)誤情況下async/awaitloadingtruefalsefalse
試試這樣的東西
async componentDidMount() {
this.setState({loading: true});
try
{
const res = await this.sampleService.getAllSample();
this.setState({sample: res, loading: false);
}
catch(err)
{
this.setState({loading:false});
console.log(err);
}
}
添加回答
舉報(bào)
