我正在向 google books 发出 API 请求,每当我收到响应时,我都想结束 api 调用。因为,我注意到当我成功发出请求并 map 响应时,它仍然发出请求并且我得到每分钟超过配额的错误。
看我的 api.js
我正在使用超级代理
import React, { Component } from "react"
import request from 'superagent';
import BookList from './BookList';
class Book extends Component{
constructor(props){
super(props);
this.state = {
books: [],
}
}
LoadMyBooks = () => {
request.
get("https://www.googleapis.com/books/v1/users/101611817084652232916/bookshelves/4/volumes?key=yourKey")
.query(null)
.then((data) =>{
// console.log(data);
this.setState({books: [...data.body.items]})
})
}
render(){
const mybooks = this.LoadMyBooks();
return(
<div>
<BookList books={this.state.books}/>
</div>
);
}
}
export default Book
回答1
import React, { Component } from "react"
import request from 'superagent';
import BookList from './BookList';
class Book extends Component{
constructor(props){
super(props);
this.state = {
books: [],
}
}
componentDidMount(){
request.get("https://www.googleapis.com/books/v1/users/101611817084652232916/bookshelves/4/volumes?key=yourKey")
.query(null)
.then((data) =>{
// console.log(data);
this.setState({books: [...data.body.items]})
})
}
render(){
return(
<div>
<BookList books={this.state.books}/>
</div>
);
}
}
export default Book