FE

[React] Custom Component

뚱인데욥 2023. 6. 16. 18:06

1. 컴포넌트 만들기

const 컴포넌트이름 = styled.태그종류`                                           const BlueButton = styled.button`
      CSS속성1 : 속성값;                                             ➡️                           background-color : blue;
      CSS속성2 : 속성값;                                                                           color : white;  
`;                                                                                                        `;

Styled Components는 따옴표가 아닌 백 틱(`)`을 사용

컴포넌트를 선언 후, styled.태그종류를 할당하고 백 틱 안에 기존에 CSS를 작성하던 문법과 똑같이 속성을 작성

 

 

2.  컴포넌트를 재활용해서 새로운 컴포넌트 만들기

const 컴포넌트이름 = styled(재활용할 컴포넌트)`                            const BigBlueButton = styled(BlueButton)`
      추가할 CSS속성1 : 속성값;                                   ➡️                           padding : 10px
      추가할 CSS속성2 : 속성값;                                                                 margin-top : 10px
`;                                                                                                        `;

컴포넌트를 선언하고 Styled()에 재활용할 컴포넌트를 전달해주고 속성을 작성

 

 

3. Props 활용하기

const 컴포넌트이름 = styled.태그종류`
    CSS속성 : ${(props) => 함수코드 }
`;

(${}) 사용하기

 

 

1) Props로 조건부 렌더링하기

const Button = styled.button`
    background: ${(props) => props.skyblue ? "skyblue" : "white"}
`;

삼항연산자로 <Button> 컴포넌트에 skyblue라는 props가 있는지 확인후 있으면 skyblue, 없으면 white

 

 

2) Props 값으로 렌더링하기

const Button = styled.button`
    background: ${(props) => props.color ? props.color:"white"}
`;

삼항연산자로 props.color가 없으면 white, 있다면 props.color 값을 가져와 속성값을 리턴

(꼭 삼항연산자를 사용하지 않아도 됨)