要在屏幕上显示多个电影,而不仅仅是在React原生中显示一个来自MoviesDB应用程序接口的电影,可以通过以下步骤实现:
以下是一个示例代码:
import React, { useEffect, useState } from 'react';
import axios from 'axios';
const Movie = ({ movie }) => {
return (
<div>
<h2>{movie.title}</h2>
<img src={movie.poster} alt={movie.title} />
<p>Rating: {movie.rating}</p>
</div>
);
};
const MovieList = ({ movies }) => {
return (
<div>
{movies.map((movie) => (
<Movie key={movie.id} movie={movie} />
))}
</div>
);
};
const App = () => {
const [movies, setMovies] = useState([]);
useEffect(() => {
axios.get('https://api.moviesdb.com/movies')
.then((response) => {
setMovies(response.data);
})
.catch((error) => {
console.error(error);
});
}, []);
return (
<div>
<h1>Movie List</h1>
<MovieList movies={movies} />
</div>
);
};
export default App;
在上述示例代码中,使用axios库发送GET请求获取电影数据,并将数据存储在App组件的状态中。然后,将电影数据传递给MovieList组件,MovieList组件使用.map()方法遍历电影数据,生成多个Movie组件。每个Movie组件显示电影的标题、海报和评分。最后,在App组件中渲染MovieList组件,从而在屏幕上显示多个电影。
请注意,示例代码中的API地址和数据结构仅供参考,实际应用中需要根据MoviesDB应用程序接口的具体情况进行相应的修改。
领取专属 10元无门槛券
手把手带您无忧上云