React_core // 꾸미기
리엑트에서 리엑트 요소(엘리먼트, DOM요소 라고도 할 수 있음)를 꾸며주는 방법에는 여러가지가 있다.
가장 작은 단위부터 시작하자.
인라인으로 꾸며주기
일단 html 예시부터!
<p style="color: orange; font-size: 20px;">orage</p>
JSX 예시
<p style={{color: 'orange', fontSize: '20px'}}>orange</p>
// 중괄호를 두번 쓰는 이유는 딕셔너리도 자바스크립트이기 때문이다.
혹은 이렇게 쓸 수 있다.
function App() {
const styles = {
color: 'orange', fontSize: '20px'
};
return (
<div className="App">
<p style={styles}>orange</p>
</div>
);
}
//이 경우에는 styles라는 변수를 함수 안에 잡아주고 그 변수를 return의 태그 안에 인스타일로 넣어주는 것이다.
CSS로 꾸며주기
src 폴더 안에 style.css파일을 만들고 그 안에 스타일을 정의하고, 그 파일을 불러다 사용하는 방법이다.
1. css 파일을 만든다.
2. css 파일을 채워주면서 .js파일에는 불러올 태그에 <div className='list'>
이런식으로 불러온다.
3. css 파일을 .js파일 상단에 import 해준다. import './style.css';
SCSS로 꾸며주기
SCSS? SASS의 3번째 버전이며 SASS의 모든 기능을 사용할 수 있고, CSS와 호환도 잘된다.
1. src폴더 안에 SCSS파일을 만든다.
2. 만약 css파일이 있었다면 그 내용을 SCSS파일 안에 복붙해준다.
3. import 해준다 import './파일명.scss';
4. 여기까지 해주면 에러가 난다! 그렇다 scss를 사용하기 위해서는 패키지를 설치해줘야 하는데 총 4개를 설치해줘야 한다.
yarn add node-sass open-color sass-loader classnames
프로젝트를 진행하고 있던 폴더로 터미널을 위치시킨 다음에 설치해주면 된다.
scss의 주요 문법
scss 공식문서
여기에 가면 공부할 수 있다.
가장 흔히 쓰는 문법의 키워트는 Nesting이라는 것인데, 쉽게 생각하면 치환이라고 생각해도 좋다.
자세한 건 공식문서에서 정확하게 공부하자
그리고 scss는 기본적인 문법이 css랑 같다!
styled-components
내가 가장 좋아하는 방법이다.
직관적이고 편리하다.
해당 컴포넌트 안에 styled-components라는 컴포넌트를 만들어줘서 태그처럼 사용하는 것이다.
1. 패키지를 설치해준다.
yarn add styled-components
2. 사용하기 위해서는 import해줘야 한다.
import styled from styled-components
3. 예시를 들어보자
.js 문서 안에 styled-components를 이용하여 아래와 같은 컴포넌트를 만들었다고 가정하자
const MyStyled = styled.div`
width: 50vw;
min-height: 150px;
&:hover{
background-color: #ddd;
}
`;
그렇다면 MyStyle이라는 이름의 태그를 div태그처럼 사용할 수 있는 것이다!
return (
<MyStyle>
</MyStyle>
)
이것도 하나의 컴포넌트이기 때문에 프롭스를 넘겨줄 수 있다. 그리고 삼항연산자를 사용해 조건문도 가능하다.
function App() {
return (
<div className='App'>
<MyStyled bgColor={'red'}> hello React! </MyStyled>
</div>
);
}
const MyStyled = styled.div`
width: 50vw;
min-height: 150px;
padding: 10px;
border-radius: 15px;
color: #fff;
&:hover{
background-color: #ddd;
}
background-color: ${(props) => (props.bgColor? "red" : "purple")};
컴포넌트의 이름은 첫글자 대문자인 카멜 표기법
Author And Source
이 문제에 관하여(React_core // 꾸미기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@passion10377/Reactcore-꾸미기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)