컴포넌트의 생명 - 소멸까지의 과정을 생명주기라고 합니다.
생명주기에서 특정 시점에 자동으로 호출되는 메소드를 라이프사이클이벤트라고 합니다.
컴포넌트가 생성, 변경, 제거될 때 (특정 시점) 호출되는 메소드(라이프사이클 이벤트)
컴포넌트의 특정시점에는 크게 3가지가 있습니다.
그렇다면 이에 해당하는 이벤트들을 알아봅시당~
React 컴포넌트가 DOM에 삽입될 때의 과정을 마운팅이라고 합니다.
해당 과정은 다음과 같은 함수호출순서를 가집니다.
1,2,3번 과정을 수행하면 컴포넌트가 모두 구성되어지고 서버와 통신할 때 DidMount()함수에서 호출한다
특정 객체를 렌더링하기 위해서 props, state를 사용합니다.
대략(둘의 생명주기가 다르나 비슷함) 순서는 다음과 같습니다.
shouldComponentUpdate()
componentWillUpdate()
render()
componentDidUpdate()
컴포넌트 마운팅이 해제될 때 componentWillUnmount()이 호출됩니다.
컴포넌트동작을 위해 사용한 메소드들의 리소스를 제거합니다.
필요한 패키지 설치
$ npm install yarn
$ npm install nodemon // 재로드없이 자동 반영
react에 해당하는 전체 폴더를 client폴더 하위에 이동
node_modules에서 에러발생시, 삭제 후 다시 npm install
루트경로에서 package.json파일 생성
package.json 내용
{
"name": "프로젝트 name",
"version": "1.0.0",
"scripts": {
"client": "cd "client경로" && yarn start",
"server": "nodemon server.js",
"dev": "concurrently --kill-others-on-fail \"yarn server\" \"yarn client\""
},
"dependencies": {
"yarn": "^1.13.0",
"body-parser": "^1.18.3",
"express": "^4.16.4"
},
"devDependencies": {
"concurrently": "^4.0.1"
}
}
npm i -g로 의존라이브러리 추가
server.js 파일 작성
package.json에 설정된 스크립트 수행
$ yarn dev
"concurrently --kill-others-on-fail \"yarn server\" \"yarn client\""
concurrently: React app and Server을 동시에 수행하기 위함.
--kill-others-on-fail : 하나의 프로세스가 종료되면 다른 프로세스도 같이 종료되도록 설정하는 플래그.