3 回答

TA贡献1796条经验 获得超7个赞
import React from 'react';
class App extends React.Component {
constructor() {
super();
this.state = {
teamObj: {}
};
}
componentDidMount() {
fetch('https://api-football-v1.p.rapidapi.com/v2/teams/team/33', { method: 'GET', headers: { 'x-rapidapi-host': 'api-football-v1.p.rapidapi.com', 'x-rapidapi-key': 'a35b8572b7mshe694b9e8ac66df4p158c4bjsn4518b48e8965' } })
.then((response) => response.json())
.then((data) => this.setState({ teamObj: data }));
}
render() {
const data = this.state.teamObj;
if (!data) return <div>Loading...</div>;
const teamData = data.api && data.api.teams && data.api.teams.length > 0 ? data.api.teams : [];
return (
<div>
<h1>
My fav teams is:{' '}
{teamData.map((x) => {
return <div>{x.name}</div>;
})}
</h1>
</div>
);
}
}
export default App;

TA贡献2037条经验 获得超6个赞
data是一个对象,要访问你需要使用的团队数组,data.api.teams它是团队的数组。要访问阵列中的第一个团队,请使用data.api.teams[0]
更改teamObj为团队。
state = {
teams: []
}
componentDidMount() {
fetch("https://api-football-v1.p.rapidapi.com/v2/teams/team/33", {
method: "GET",
headers: {
"x-rapidapi-host": "api-football-v1.p.rapidapi.com",
"x-rapidapi-key": "a35b8572b7mshe694b9e8ac66df4p158c4bjsn4518b48e8965"
}
})
.then(response => response.json())
.then(data => {
this.setState({teams : data.api.teams })
});
}
渲染它,团队数组将始终包含一项,因为您在请求中传递了团队的 ID。从阵列访问团队this.state.teams[0].name
<h1>My fav team is: { this.state.teams.length && this.state.teams[0].name }</h1>

TA贡献1780条经验 获得超4个赞
试试这个
import React from 'react';
import logo from './logo.svg';
import './App.css';
class App extends React.Component {
constructor() {
super();
this.state = {
teamObj:null
};
}
componentDidMount() {
fetch("https://api-football-v1.p.rapidapi.com/v2/teams/team/33",
{"method": "GET","headers":
{"x-rapidapi-host": "api-football-v1.p.rapidapi.com",
"x-rapidapi-key": "a35b8572b7mshe694b9e8ac66df4p158c4bjsn4518b48e8965"}
}
)
.then(response => response.json())
.then(data => {
console.log(data)
this.setState({teamObj : data.api.teams})
})
}
render() {
console.log(this.state.teamObj)
return (
<div>
<h1>My fav team is: {
this.state.teamObj &&
this.state.teamObj[0].name
}</h1>
</div>
);
}
}
export default App;
添加回答
举报