allfilms.map不是功能
2019-07-10
37
我想从电影 API 获取 JSON, 我获取了变量“data”中的数据,但即使加载了数据,我的数组“allFilms”仍然是空的......(参见下面的代码), 请问为什么我的数组仍然是空的?
const [allFilms, setAllFilms] = useState([]);
const [pending, setPending] = useState(true);
const [activePage, setActivePage] = useState(1)
const url = `https://api.themoviedb.org/3/movie/top_rated?api_key=${process.env.REACT_APP_API_KEY}&language=fr&page=${activePage}`;
useEffect(() => {
loadAllFilms();
}, []);
async function loadAllFilms() {
try {
const data = await axios.get(url);
console.log("data ", data); **<--- THIS CONSOLE.LOG GOT THE DATA**
setAllFilms(data);
console.log("allfilms ", allFilms); **<--- THIS CONSOLE.LOG IS EMPTY**
setPending(false);
} catch (error) {
console.error(error);
}
};
1个回答
从您的代码中,我们只能猜测错误是由于您的响应类型造成的。
如果它是一个 JSON 数组 ,您应该尝试:
const data = await axios.get(url);
setAllFilms(data.json);
Dennis Vash
2019-07-10