모델, 뷰, 컨트롤러
▪ 모델 : 애플리케이션에서 사용하는 데이터를 관리하는 영역
▪ 뷰 : 사용자에게 보이는 부분
▪ 컨트롤러 : 프로그램이 사용자에게서 어떤 작업(ex: 버튼 클릭, 텍스트 입력)을 받으면 모델 데이터를 조회하거나 수정하고, 변경된 사항을 뷰에 반영
리액트는 오직 V(view)만 신경 쓰는 라이브러리이다.
사용자 화면에 뷰를 보여주는 것 렌더링
리액트 라이브러리는 어떻게 데이터가 변할 때마다 새롭게 리 렌더링 하면서 성능을 아끼고, 최적의 사용자 경험을 제공할까?
render(){ ... }
리액트에서 뷰를 업데이트할 때는 "업데이트 과정을 거친다"라고 하기보단 "조화 과정(reconciliation)을 거친다"라고 하는 것이 더 정확한 표현이다.
→ 컴포넌트에서 데이터에 변화가 있을 때 우리가 보기에는 변화에 따라 뷰가 변형되는 것처럼 보이지만, 사실은 새로운 요소로 갈아 끼우기 때문이다.
리액트는 Virtual DOM을 사용한다.
1. DOM이란?
▶ DOM의 단점과 해결법
<DOM의 단점에 대하여>
<해결법>
2. Virtual DOM
❗ 주의할 점
3. 리액트의 기타 특징
리액트 프로젝트 준비하기
1. Node.js / npm , yarn 설치하기
2. 코드 에디터 설치하기
3. Git 설치하기
4. Create-react-app으로 프로젝트 만들기
※ Node는 웬만하면 LTS 버전 설치하기
Node.js
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
nodejs.org
node -v
Yarn
Fast, reliable, and secure dependency management.
classic.yarnpkg.com
yarn --version
Download Visual Studio Code - Mac, Linux, Windows
Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.
code.visualstudio.com
Git - Downloads
Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific exp
git-scm.com
$ yarn create react-app <프로젝트 이름>
npm init react-app <프로젝트 이름>
$ cd <프로젝트 이름>
$ yarn start #또는 npm start
→ http://localhost:3000/ 으로 리액트 페이지가 띄워진다!Q1) 모델, 뷰, 컨트롤러를 올바른 설명으로 이어질 수 있도록 ( )안에 넣어주세요.
( )은 애플리케이션에서 사용하는 데이터를 관리하는 영역이고, ( )는 사용자에게 보이는 부분이다. 사용자에게서 어떤 작업을 받으면 ( )는 모델 데이터를 조회하거나 수정하고, 변경된 사항을 뷰에 반영한다.
Q2) 리액트는 모델, 뷰, 컨트롤러 중에 어떤 것만 신경쓰는 라이브러리일까요?
답: ( )
Q3) 리액트에서 컴포넌트가 어떻게 생겼는지 정의하는 역할을 하는 함수는 무엇인가요?
답: ( )
Q4) 리액트의 특징 중 실제 DOM에 접근하여 조작하는 대신, 추상화한 자바스크립트 객체를 구성하여 사용하는, 마치 실제 DOM의 가벼운 사본과 비슷한 '이것'은 무엇일까요?
답: ( )
Q5) 리액트 개발 전용 서버를 구동하는 명령어는 무엇인가요?
답: ( )
<정답 확인>
[리액트를 다루는 기술]5장 ref:DOM에 이름달기 (0) | 2021.11.01 |
---|---|
[리액트를 다루는 기술]6장 컴포넌트 반복 (0) | 2021.11.01 |
[리액트를다루는기술]3장 컴포넌트 (0) | 2021.10.11 |
[리액트를다루는기술]4장 이벤트 (0) | 2021.10.11 |
[리액트를다루는기술]2장 JSX (0) | 2021.10.04 |