【发布时间】:2021-09-21 12:58:20
【问题描述】:
我只是想知道为什么在渲染之前状态没有更新?
我正在创建一个电影列表应用程序,现在我正在尝试列出票房电影。但是在渲染之前状态似乎没有更新。
我是新来的反应和js,我真的很感谢一些帮助和解释为什么会发生这种情况
const BoxOffice = () => {
const [data, setData] = useState([]);
const getBoxOffices = async () => {
var options = {
method: "GET",
url: "https://movies-tvshows-data-imdb.p.rapidapi.com/",
params: { type: "get-boxoffice-movies", page: "1" },
headers: {
"x-rapidapi-key": "4ccc11616emsha0ff93487313f1ep1528a9jsnf24cc1750061",
"x-rapidapi-host": "movies-tvshows-data-imdb.p.rapidapi.com",
},
};
axios
.request(options)
.then((response) => {
console.log(response.data.movie_results);
const boxOfficeMovies = response.data.movie_results;
setData(boxOfficeMovies);
})
.catch((error) => {
console.error(error);
});
};
const getfullData = async () => {
getBoxOffices();
console.log("data", data);
};
useEffect(() => {
getfullData();
}, []);
return (
<div>
<div className="min-h-screen w-screen bg-gray-300 pt-12">
<div className="min-w-auto grid grid-flow-row grid-cols-5 gap-4 items-center justify-center mt-5">
<div className="w-screen bg-red-50">
{data && <Card data={data} />}
</div>
</div>
</div>
</div>
);
};
export default BoxOffice;```
【问题讨论】:
标签: javascript reactjs api use-state