import styled from "styled-components";
export const HeaderBanner = styled.header`
background-image: ${(props) =>
URL(`https:/image.tmdb.org/t/p/original/${props.movie.backdrop_path}`)};
background-position: "top center";
background-size: cover;
`;
TypeError: Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function
import styled from "styled-components";
export const HeaderBanner = styled.header`
background-image: ${(props) =>
new URL(
`https:/image.tmdb.org/t/p/original/${props.movie.backdrop_path}`)};
background-position: "top center";
background-size: cover;
`;
new URL을 사용하면 URL 객체가 생성되므로, 원하는 외부 이미지 url을 가져와 배경이미지로 사용할 수 없었음
styled-component 에 props로 외부 이미지 url을 내려 보냄으로써 해결했다.
// src > components > Banner.js
return (
<HeaderBanner
movie={`https://image.tmdb.org/t/p/original/${movie.backdrop_path}`}
>
// src > components > Banner.styled.js
import styled from "styled-components";
export const HeaderBanner = styled.header`
background-image: url(${(props) => props.movie});
background-position: top center;
background-size: cover;
`;