私はAxiosを使ってランダムイメージを取得する小さなアプリケーションをReactで作っています。私はReact-bootstrapを使って画像をスタイルしていますが、画像がロードされる前に小さな白いボックスが半秒間表示されます。どうすれば解決できますか?リアブートストラップスタイリングがapiコール終了前に表示されます
これは私のコードです。その前にそう
import React, { Component } from 'react';
import axios from 'axios';
import { Link } from 'react-router-dom';
import { Image, Button } from 'react-bootstrap';
const ROOT_URL = 'myurl'
export default class WhatDog extends Component {
constructor(props){
super(props);
this.state = { randomImg: '' };
}
componentDidMount(){
axios.get(ROOT_URL)
.then(res => {
const data = res.data.message
this.setState({ randomImg: data })
})
}
renderImage(){
return(
<div>
<Image src={this.state.randomImg} className="img" thumbnail/>
<Link to="/">
<Button bsStyle="danger" bsSize="large">Go back</Button>
</Link>
</div>
)
}
render() {
return (
<div className="App">
{
(this.state.randomImg === '')
? <div>
<h1>Loading...</h1>
</div>
: <div>
{this.renderImage()}
</div>
}
</div>
);
}
}
あなたは**読み込んでいます... **? –
私は荷物を見るが、私はまたそれの下に小さな空の白いボックスが表示されます。 – FakeEmpire
イメージがブラウザによって実際に読み込まれるまでに時間がかかります。 – webdeb