donaricano-btn

리액트 컴포넌트 라이프사이클


1. 컴포넌트 라이프사이클 이벤트

- 생성된 컴포넌트를 조금더 세밀하게 제어할 수 있도록 라이프 사이클 이벤트를 사용한다.


2. 라이프사이클 종류

1) 마운팅(mounting) 이벤트

- React 엘리먼트를 dom노드에 추가 할 때 발생한다.

- 이벤트를 한번만 실행한다

2) 갱신(updating) 이벤트

- 속성이나 상태가 변경되어  React 엘리먼트를 갱신 할 때 발생한다

- 이벤트 여러번 발생

3) 언마운팅(unmounting) 이벤트

- dom에서 제거 될 때 사용된다

- 한 번만 실행된다.

3. 라이프사이클 사용방법


블로그 이미지

리딩리드

,
donaricano-btn

리액트의 상태저장 컴포넌트와 상태비저장 컴포넌트


1. 컴포넌트 상태

- react 에서 상태는 컴포넌트의 변경 가능한 데이터 저장소다.

- 속성과 상태는 뷰를 갱신하기 위하여 사용하지만 서로다른 목적을 가지고 있다.

- 상태는 동적으로 뷰를 렌더링 할 때 사용한다


2. 속성(props) vs 상태(state)

1) 접근 방법

- 속성 : this.props.NAME

- 상태 : this.state.NAME

2) 전달 방법

- 속성: 부모에서 자식 컴포넌트로 전달해야만 render()에서 사용 가능하다

- 상태: 현재 컴포넌트에서 변경하여 render() 에 전달 가능하다


3. 상태저장 컴포넌트

1) 초기 상태 설정

- render() 에서 상태 데이터를 사용하려면 상태를 초기화 해야한다.

- construtor()를 사용한다.


- super()를 통하여 반드시 전달해야 부모(React.Component)에서 기능 할 수 있다.

2) 상태 갱신 하기

- this.setState(data, callback) 을 이용하여 상태를 갱신 할 수 있다.

- setState()는 비동기로 작동한다. 또한 render() 를 호출 한다.

 

- setInterval() 함수를 이용하여 1초마다 상태를 갱신하여 화면에 출력한다. 화면을 보면 초가 바뀌는걸 알 수 있다.


4. 상태비 저장 컴포넌트

- 상태 객체가 없는 일반 컴포넌트를 의미 한다.

 

1) 상태비 저장 컴포넌트 정의

- react 컴포넌트를 상속하는 방법이 있지만 function() 으로 선언하는 것을 추천한다

 


5. 상태 저장 vs 상태 비저장 컴포넌트

- 상태 저장은 적을 수록, 상태 비저장 컴포넌트는 많이 사용할 수록 좋다

- 상태 비저장 컴포넌트를 사용함으로 간결하고 유지보수 쉬운 개발을 할 수 있다.

1) 상태 비저장 컴포넌트에 속성전달

 

상태 비저장 컴포넌트에 속성값을 받아 적절한 상태 컴포넌트를 구현 할 수 있다.

블로그 이미지

리딩리드

,
donaricano-btn

webpack, babel, reactjs 환경셋팅하기


1. 프로젝트 폴더 만들기

- 기본적으로 node 와  npm 이 설치되어 있어야 한다.

1) 폴더 구성

- npm init 을 통해 package.json 파일을 생성한다

build 후 생성된 파일을 관리 하기 위하여 dist 폴더를 생성한다

bundle.js 는  webpack을 통해 빌드된 파일이다.


2. webpack 설치하기

- webpack 을 이용하여 모듈화하고 빌드를 진행한다.

1) package.json

webpack-dev-server 를 사용하기 위한 설정이다.

2) webpack.config.js

webpack을 사용하기 위한 설정파일이다.

3) index.js 

- 어느 정도 설정이 되었으니 테스트 해보자

- index.js 파일을 만든다

- src/index.js

4) npm start

- 서버를 띄우면 로그가 찍히는 것을 볼 수 있다


3. babel 설치하기

- ES6 를 사용하기 위해 바벨이 필요하다. 무엇보다 react개발에 jsx 를 컴파일하는 일로 바벨을 사용한다

1) jsx 파일을 js로 변경하기 위한 설정

2) webpack설정과 package.json이 바벨 변화를 확인하기 위한 설정

3) package.json

4) webpack.config.js

5) .babelrc

- root 폴더에 .babelrc 라는 설정파일을 만든다


4. react  설치하기

1) src/index.js


5. HMR 설치하기

- 개발하는동안 실시간으로 서버에 변화를 반영할 수 있다.

1) webpack.config.js

2) src/index.js

블로그 이미지

리딩리드

,