npm i prop-types
입력import propTypes from "prop-types"
Button.propTypes = {
text: propTypes.string.isRequired,
};
CSS파일을 통해 html을 꾸미려할 때,
button 이라는 태그에 스타일을 주면 모든 button들에 적용될 때,
즉 전역적인 CSS style을 원치 않는다면,
수많은 코드 속에서 className 겹치지 않게 작명하는 어려움
등등을 해결하기 위해
CRA(Create-React-App) 를 통해 CSS파일을 모듈화할 수 있다.
모듈화란?
기능별로 분할해 놓는것
예) A를 위한 모듈, B를 위한 모듈이 개별적으로 존재
.btn {
color: white;
background-color: tomato;
}
Button.js 에 import하기
(여기서 Button.js 역시 App.js에 import하는 분리된 컴포넌트임)
import styles from "./Button.module.css";
Button.js 내에서 적용 원하는 곳에 className으로 추가
import propTypes from "prop-types";
import styles from "./Button.module.css";
function Button({ text }) {
return <button className={styles.btn}>{text}</button>;
// button className = { 이름.클래스명 }
}
Button.propTypes = {
text: propTypes.string.isRequired,
};
export default Button;
같은 클래스명 사용해도 내 HTML 안에서는 랜덤하게 생성된다.