백신따위 나를 이길 수 읎다 ...
import PropTypes from 'prop-types';
function Btn({ text }) {
return (
<button
style={{fontSize}}> {text} </button>
);
}
Btn.propTypes = { <<<---
// prop 이름 : type 명
text : PropTypes.string,
fontSize : PropTypes.number.isRequired,
}
function App() {
return (
<div>
<Btn text="save changes" fontSize={18} />
<Btn text="continue" />
</div>
)
};
Btn.propTypes
안에서 'text'는 string
타입, 'fontSize'는 number
타입으로 작성했다.string
이 아닌 number
나 다른 타입으로 작성했을 경우 경고 문구가 뜰 것!isRequired
- 필수로 포함되어있어야할 propisRequired
설정된 prop 이 컴포넌트 내에 없을 경우 경고창을 띄운다.node -v
입력시 node.js 버전이 나온다면 정상설치)npx i
커맨드 사용 가능 여부 확인npx create-react-app my-app(프로젝트 이름, 폴더이름)
npm start
CSS Moudle은 CSS 클래스를 불러와서 사용할 때 [파일이름]_[클래스이름]__[해쉬값] 형태로 클래스네임을 고유하게 자동으로(랜덤으로) 만들어주어 컴포넌트 중첩현성을 방지해주는 기술
button
태그에 스타일을 주고 싶다면..import
해주기 (ex-import "./styles.css";
)button
들은 'styles.css'에서 작성한 백그라운드 컬러, 폰트사이즈를 동일하게 가지게 될 것... 🥲// -button.module.css
.btn {
color: white;
background-color: tomato;
}
import
// button.js
import styles from "./button.module.css";
// import <스타일 이름> from <css 파일 경로>
function Button ({ text }) {
return <button className={styles.btn}>{text}</button>;
}
ex) 크롬 > f12 > Elements
<button calss="button_btn_1uu0C"> Continue </button> == $0