【发布时间】:2021-04-13 02:05:03
【问题描述】:
我是 React 的初学者,尝试一次显示一个图像。目前使用这个 api https://salty-cove-08526.herokuapp.com/api/countries?format=json 一次发送 3 张图像。我正在使用 axios 获取图像并使用 map {this.state.countries.map(country => <img src={country.photo}/>)}
但是 div img-wrapper 中的这个命令一次显示所有 3 个 plz hlep
reactjs
class form extends Component{
constructor(props){
super(props);
this.state={
answer:'',
countries:[]
}
this.handleChange=this.handleChange.bind(this);
this.handleSubmit=this.handleSubmit.bind(this);
}
componentDidMount(){
axios.get('https://salty-cove-08526.herokuapp.com/api/countries?format=json')
.then(res=>{
this.setState({ countries:res.data});
})
}
}
render(){
return (
<div>
<section className="login">
<div className="loginContainer">
<div className="heading">
Guess the countries
</div>
<div className="img-wrapper">
{this.state.countries.map(country =>
<img src={country.photo}/>
)}
</div>
json
[
{
"id": 6,
"name": "canada",
"photo": "https://en.wikipedia.org/wiki/India#/media/File:Flag_of_India.svg",
"fact": "sdsds",
"capital": "sdsdsd",
"hint_1": "sdsd",
"hint_2": "sdsdsd"
},
{
"id": 2,
"name": "usa",
"photo": "https://en.wikipedia.org/wiki/India#/media/File:Flag_of_India.svg",
"fact": "ddc",
"capital": "new york",
"hint_1": "kuch bhi",
"hint_2": "kljn;kj"
},
{
"id": 3,
"name": "china",
"photo": "https://en.wikipedia.org/wiki/India#/media/File:Flag_of_India.svg",
"fact": "ddfdf",
"capital": "k k",
"hint_1": "jnjn",
"hint_2": "jknkjn"
}
]
【问题讨论】:
-
你可以尝试替换`{this.state.countries.map(country => )}` 与 `{this.state.countries.photo}}/>`
-
@HeroicHitesh 我试过它给出了错误 Expected an assignment or function call 而是看到了一个表达式
-
我忘了添加return语句,试试这个`{return this.state.countries.photo;}}/ >`
标签: javascript json reactjs axios