1. Node, npm, npx, git 설치
1.node.js 설치(홈페이지에서. 설치확인 : node -v / npm 설치확인 : npm -v)
2. 콘솔에서 npm install npx -g (설치확인: npx -v)
3. VSC 설치(다른 코드 에디터 써도 됨)
4. git 설치(설치 확인:콘솔에서 git --version)
리액트 컴파일 create-react-app
리액트의 코드는 브라우저가 이해할 수 없기 때문에, 이것을 셋업하기 위해 Web pack과 Babel을 다운로드 해야하고, 컴파일을 하는 그런 복잡하고 귀찮은 작업이 필요했다. 그런데, 이제는 create-react-app이라는 걸 통해서, 하나의 명령으로 React Web app을 Set up하게 되었다.
1. node js npm, npx 설치가 되어있어야 한다.
2. Documents > npx create-react-app 만들고자 하는 폴더이름
3. Vs code에서 해당 폴더를 오픈
1) readme를 내 취향껏 수정
2) package.json ->scripts에서 start, build만 남긴다.
3) npm이나 yarn 이나 동일 => npm start로 실행함
index.html, index.js, App.js
이 세가지가 핵심 구성 축이다.
1. index.html
- <div> id를 지정해주고, index.js에서 해당 div 내부의 내용을 표시한다.
2. index.js
3. App.js
- index.js의 ReactDom.render에서 <App />는 바로 App.js를 의미하는 것.
- App.js => 컴포넌트
- Component = html을 반환하는 함수
- html형태로 작성하는 js = jsx, 리액트에서 유일한 표현방식
- 리액트는 index.js에서 하나의 컴포넌트만 render해줄 수 있기 때문에, 새로운 Component는 index.js가 아닌, Component안에 써주기
- Component는 대문자로 쓰기
- Props 개념 = Component 안에 넣을 수 있는 요소
- map : function을 취해서, 해당 함수를 array의 각 item에 적용한다.
React의 Element는 모두 고유해야 한다.
- list에 id를 추가해준다.
- 웹페이지의 console창에 오류가 사라질 것
PropTypes
npm i prop-types
PropTypes를 이용해, console에서 prop 전달에 이상이 없는지 확인가능
동적 데이터를 다루는 State
- state를 쓰기 위해서는, class component 형태를 사용해줘야햔다. (앞서서 했던 것은 function component. class component와 function component에는 차이가 있다.)
- function component는 무언가를 return해서 screen에 표시한다.
- class component는 React.component로부터 확장되고 screen에 표시하기 위해서 'render()' 안에 넣어줘야 한다. render method안에 넣어야만 한다.
- 그러면 리액트가 알아서 자동으로, class component의 render method를 실행한다.
- state는 object이고, 동적인 데이터를 state 안에 써준다. 그리고 render method에서 호출을 해준다.
- setState({}) : state를 바꾸고 싶다면, setState를 사용한다. 새로운 데이터를 알아서 refresh하고, render function을 refresh해 표시해준다.
- current 써서, 더 쿨하게 코드짜기
React Lifecycle Method
- refresh => Component의 render 호출 -> componentDidMount
- setState 호출 => render -> 업데이트가 되면, ComponentDidUpdate가 작동할 것
Axios
npm i axios
'💻 Deep Wide Programming > React' 카테고리의 다른 글
[생활코딩 리액트] 이벤트 state 변경하기 (feat. bind 함수, setState함수) (0) | 2020.10.04 |
---|---|
[생활코딩 리액트] 14. 별도의 파일로 컴포넌트 정리, 15. state (0) | 2020.10.04 |
[생활코딩 리액트] 리액트를 도와주는 크롬 확장앱 (0) | 2020.10.04 |
[생활코딩 리액트] props를 사용한 리팩토링 (0) | 2020.10.04 |
[생활코딩 리액트] 10-11강 컴포넌트 만들기 (0) | 2020.10.04 |