下面的代码是用于显示不同类别的电影图像的函数。浏览器和vs代码没有显示错误,但我仍然无法得到结果。帮助
function Row({ title, fetchUrl, isLargeRow = false }) {
const [movies, setMovies] = useState([]);
const base_url = "https://image.tmdb.org/t/p/w500/";
useEffect(() => {
async function fetchData() {
const request = await axios.get(fetchUrl);
setMovies(request.data.results);
return request;
}
fetchData();
}, [fetchUrl]);
// console.log(movies);
return (
<div className="row">
<h2>{title}</h2>
{movies.map((movie) => (
<img
// "https://image.tmdb.org/t/p/w500/" + movie.poster_path || movie.backdrop_path
src={
"${base_url}${isLargeRow ? movie.poster_path:movie.backdrop_path}"
}
alt={movie.name}
/>
))}
</div>
);
}
export default Row;
这里针对这个代码"${base_url}${isLargeRow?movie.poster_path:movie.backrop_path}",我试图用backtik('(替换("(,但vs代码在保存时又替换了回来。
而不是:const base_url = "https://image.tmdb.org/t/p/w500/";
试试这个:const base_url = "https://image.tmdb.org/t/p/w500";
请删除末尾的正斜杠,因为poster_path
已具有/
/9PFonBhy4cQy7Jz20NpMygczOkv.jpg
您可以使用此syntax将一个父sis下的所有地图数据(如(
{电影?.map((电影(=>{let moviesDiv = (
<div className="row_posters">
<img src={`${baseURL}${movie.poster_path}`} alt={movie.name} />;
</div>
);
return moviesDiv
})}
</div>