Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在map函数中运行axios.get将返回一个承诺_Javascript_Reactjs_Axios - Fatal编程技术网

Javascript 在map函数中运行axios.get将返回一个承诺

Javascript 在map函数中运行axios.get将返回一个承诺,javascript,reactjs,axios,Javascript,Reactjs,Axios,我有一个React应用程序,从数据库中获取书籍ID列表,并使用这些ID显示它们,以从GoogleBooks API获取信息。因此,我正在通过我的道具进行映射,对于每本书,我将使用axios.get()来获取API。 我的问题是,它返回了一个我找不到处理位置的对象承诺 这就是它欺骗我的错误 对象作为React子对象无效(找到:[对象承诺])。如果要呈现子对象集合,请改用数组 谢谢 class HomeGroup extends Component { componentDidMount()

我有一个React应用程序,从数据库中获取书籍ID列表,并使用这些ID显示它们,以从GoogleBooks API获取信息。因此,我正在通过我的道具进行映射,对于每本书,我将使用axios.get()来获取API。 我的问题是,它返回了一个我找不到处理位置的对象承诺

这就是它欺骗我的错误 对象作为React子对象无效(找到:[对象承诺])。如果要呈现子对象集合,请改用数组

谢谢

class HomeGroup extends Component {
    componentDidMount() {
        this.props.fetchBooks();
    }
    renderBooks() {
        return this.props.books.map(async (book, index) => {
            const res = await axios.get(`https://www.googleapis.com/books/v1/volumes?q=isbn:${book.ISBN}`);
            return <div key={index}>{res.data.items[0].id}</div>;
        });
        }
    render() {      
        return <div className="row">{this.renderBooks()}</div>;
    }
类家庭组扩展组件{
componentDidMount(){
this.props.fetchBooks();
}
renderBooks(){
返回此.props.books.map(异步(book,index)=>{
const res=等待axios.get(`https://www.googleapis.com/books/v1/volumes?q=isbn:${book.ISBN}`);
返回{res.data.items[0].id};
});
}
render(){
返回{this.renderBooks()};
}

不要在渲染逻辑中发出请求。当
fetchBooks
第一个api完成同步函数
async()=>{}
时,请将其移动到didMount或diddupdate中,并始终返回promise熟悉,然后它将与您的书籍类似。