根据React AJAX示例,我创建了一个JSX文件,其目的是获取并呈现电影。就我所知,我在这里做得一切都是正确的。
当我在我的render函数中使用console.log打印数据时,会得到两个结果:
- 未定义
- 对象(这是我需要的,所以这个完美)
如何过滤掉未定义的行而不在我的render函数中执行一些if / else逻辑?迭代结果当然会导致错误第一次,这将使我的应用程序崩溃。
处理这个问题的最佳方法是什么?
编辑:也许应用程序在Axios调用完成之前被呈现,在这种情况下,我被迫执行if / else语句?
这是我的JSX文件:
import React from "react";
import axios from "axios";
export default class NetflixHero extends React.Component {
constructor() {
super();
this.state = {
movie: []
}
}
}
componentDidMount() {
const apiKey = 'xxxxxxxx';
let requestUrl = 'https://api.themoviedb.org/3/' + this.props.apiAction + '&api_key=' + apiKey;
axios.get(requestUrl).then(response => {
this.setState({movie: response.data.results})
});
}
render() {
//Fires twice. Returns Undefined and an Object
console.log(this.state.movie[0]);
return(
<div></div>
)
}