【发布时间】:2020-07-21 22:18:20
【问题描述】:
我不熟悉 React 和 Hooks 的使用。我正在尝试从某个 API 中获取一个对象,对其进行转换(基于另一个 API 的结果)并更新 useEffect 挂钩中的状态。然而,当 DOM 被渲染时,对象的变换并没有反映出来。这是我的代码。
useEffect(() => {
let modified_movies = []
axios.get(LOCAL_MOVIE_API)
.then(res => {
const movies = res.data.content;
movies.map(async movie => {
const response = await axios.get(_API,
{
params: {
query: movieTitle,
year: movie.movieYear
}
});
const poster = response.poster; //add property to object
const modified_movie = { ...movie, poster_url: poster };
modified_movies.push(modified_movie)
})
setMovies(modified_movies) //
})
}, [])
我也没有就地修改对象,因此制作了对象的副本,但是 react 仍然没有使用修改的对象更新状态,并且新属性没有反映在视图中。我错过了一些明显的东西还是有更好的方法来实现这一点?
【问题讨论】: