728x90
[ 새롭게 알게된 것 ]
1. styled-component는 스타일과 컴포넌트를 동시에 만들기 가능함
div를 스타일링하고 싶으면 styled.div 아래와 같이 만들기 가능
import React from 'react';
import styled from 'styled-components';
const Subject = styled.div`
width: 5rem;
...생략
`;
2. 특정 props값을 기반으로 여러 CSS를 조건부로 보여주고 싶다면 직접 CSS 사용해야됨을 알게됨
const Circle = styled.div`
background: ${props => props.color || 'black'};
${props =>
props.huge &&
` width: 10rem;
height: 10rem;
`}
`;
단, CSS 사용할땐 literal Template을 활용해서 해당 부호안에 CSS를 조건부로 입력해주면 됨을 알게됨
3. CSS in JS에서 lighten() 또는 darken() 유틸 함수와 유사한 polished 라이브러리가 있음
우선 패키지를 아래와 같이 설치해줘야됨
기존의 색상 부분을 polished 유틸함수로 대체하면 아래와 같음
4. 색상코드 변수를 직접입력하는 대신 ThemeProvider 사용가능함
styled-components: API Reference
API Reference of styled-components
styled-components.com
일종의 전역 팔레트임.
styled-componet를 사용하는 모든 컴포넌트에서 조회하여 사용가능함.
사용방법은 ThemeProvide props로 theme을 설정하면
function App() {
return (
<ThemeProvider
theme={{
palette: {
blue: '#228be6',
gray: '#495057',
pink: '#f06595'
}
}}
>
<AppBlock>
<Button>BUTTON</Button>
</AppBlock>
</ThemeProvider>
);
}
Button 컴포넌트에서 아래와 같이 css 변수대신 활용 가능함
/* 색상 */
${props => {
const selected = props.theme.palette.blue;
return
리액트는 정말 편리하고 좋은 라이브러리들이 많다고 느낌.
728x90
'{React}' 카테고리의 다른 글
10.24.22{코딩일기}벨로퍼트와 함께하는 모던리액트 2-3챕터리뷰(4) (0) | 2022.10.25 |
---|---|
10.23.22{코딩일기}벨로퍼트와 함께하는 모던리액트 2-3챕터리뷰(3) (0) | 2022.10.24 |
10.21.22{코딩일기}벨로퍼트와 함께하는 모던리액트 2-3챕터리뷰(1) (0) | 2022.10.21 |
10.19.22{코딩일기}벨로퍼트와 함께하는 모던리액트 2-1~2챕터리뷰 (2) | 2022.10.19 |
10.14.22{코딩일기}벨로퍼트와 함께하는 모던리액트 1-26~27챕터리뷰 (0) | 2022.10.14 |
댓글