【发布时间】:2020-09-02 19:37:08
【问题描述】:
有人可以帮我解决这个问题吗?
我有一个运行良好的代码,它显示了所有火型口袋妖怪的列表、名称和图像。它显示了所有火系口袋妖怪(或多或少 100 个口袋妖怪),但我只想请求前 10 个,这是一种方法吗? (我曾尝试将“params:_limit:10”放在 axios.get 函数中,但没有用。
export default class PokemonList extends Component {
state= {
url: 'https://pokeapi.co/api/v2/type/fire',
pokedata: null
};
async componentDidMount() {
const res = await axios.get(this.state.url);
this.setState({ pokedata: res.data['pokemon'] })
}
render() {
return (
<PanelArea>
{this.state.pokedata ? (
<div className='row'>
{this.state.pokedata.map(pokedata =>
<PokemonCard
key={pokedata.pokemon.name}
name={pokedata.pokemon.name}
url={pokedata.pokemon.url}
/>
)}
</div>
) : (
<h1> Carregando Pokemon </h1>
)}
</PanelArea>
)};
}
【问题讨论】:
-
后端的 API 应该支持分页(即页面大小或数据大小/限制)。
-
pokeapi 文档说:使用这个 -
https://pokeapi.co/api/v2/evolution-chain/?limit=20&offset=20进行分页。 -
我尝试了“url:'pokeapi.co/api/v2/type/fire?limit=10&offset=10'”但仍然在页面上显示所有火精灵,当我将 pokemon.data 放入“res”时它接收所有数据,而不是前 10 个
-
一个类似的answer在前端做分页。
标签: reactjs api get request axios