react assets images path dynamic binding - require()
컴포넌트에서`src/assets/...` 디렉토리 내부 이미지소스 적용시 동적 바인딩 관련
상황
리액트에서는?
테스트 해본 예제 코드 1 - 컴포넌트 사용시 iconSrc에 값을 넣을때 require() 사용.
iconSrc에 값을 넣을때 require() 사용.import React, {ReactElement} from 'react';
import styled, {css} from 'styled-components';
...
interface Props {
...
iconSrc?: string;
}
const ButtonEl = styled.button<Props>`
...
${({iconSrc}) => iconSrc &&
css`
i {
...
background: url(${iconSrc}) no-repeat 0 0 / contain;
}
`}
...
`;
export const Button = ({
iconSrc,
...props
}: Props): ReactElement => {
...
return (
<ButtonEl
iconSrc={iconSrc}
{...props}
>
{iconSrc && <i></i>}
{children}
</ButtonEl>
);
};
// 사용
<Button iconSrc={require('./assets/이미지경로.png')}>Icon Button</Button>
<Button iconSrc='https://이미지경로.png'>Icon Button</Button>테스트 해본 예제 코드 2 - 버튼 컴포넌트 내부에서 iconSrc에 값을 받아서 require() 처리
iconSrc에 값을 받아서 require() 처리두가지 경우를 해본 이유
참고
Last updated