상호작용
이 가능한 동적 UI
제작 가능단방향
데이터 흐름Component
기반 구조Component만 import
해서 사용하면 된다는 간편함이있다.코드의 유지보수, 관리가 용이
하다. -> Header, Footer 같은 구조를 컴포넌트로 제작
-> 이를 조합해서 root component(최상위 컴포넌트)로 만든다.
Virtual DOM
Props and State
Props : 부모 컴포넌트에서 자식 컴포넌트로 전달해주는 데이터
자식 컴포넌트에선 Props
변경이 불가하고, Props를 전달한 최상위에서만 변경이 가능하다.
State : 컴포넌트 내부에서 선언되고 내부에서 값을 변경한다.
클래스형 컴포넌트에서만 사용이 가능하고, 각각의 state는 독립적이다.
JSX
npx create-react-app 앱이름
📌 주의 (리액트앱(프로젝트) 이름규칙)
• 대문자 사용불가!
• 단어 여러개 사용시 하이픈(-) 기호로 구분
npx start
입력하면 실행된다.<p></p>
가 자동으로 생성됐었는데 안그렇게 되어서 불편...)-> .vscode/settings.json
에 아래와 같은 문구 추가만 하면 된다.
{
"emmet.includeLanguages": {
"javascript": "javascriptreact"
}
}
이번 2차 프로젝트를 마치고 오랜만에 수업을 나갔다. 얼마나 수업듣기를 염원했는지 모르겠다... 2차 프로젝트에 대해선 조만간 회고록과 함께 돌아오겠다.
React를 드디어 배우기 시작했다. 새로운 JSX 문법을 배우자니 설레면서도 두렵다 🤣
새로운 폴더구조와 문법들이 익숙해지기까지 오랜시간이 걸리지 않도록 코드를 써보고 또 써봐야겠다~~