inno 16
Sparta coding
Innovation Camp
w3 day16
타입스크립트 스터디 김진욱님
운영체제 스터디 배상훈님
spring 기술매니저
cs기술면접 - 야놀자 변태처럼
구동프로세스 어떤식으로 진행이되나
꼭 변태처럼하는곳 아니어도 기술면접
process - thread 차이
30분-1시간
전공자는 이미 다 아는것들
강의 한시간미만
하루에 하나-두개씩
저녁전 30분
다음날 5시쯤 내용공유 - 중요체크
저녁에 알고리즘스터디
공부하는 시간을 정하고
하루 기준 정한 시간만큼씩 투자
react 1
- component
- 화면을 구성하는 단위
function App() {
return <div></div>;
}
html을 return하는 함수를 단위로 쓴다
react의 구성
import(필요한파일 가져오기)
component
( JS코드를 작성할 수 있는 부분이있음 <br>
실행시킬명령 - 함수 - <br>
return을 기준으로 아랫부분에 HTML(JSX)
export default(component 내보내기)
- component는 반드시 첫 대문자
- folder는 소문자
component 안에 component넣기
-
App > Child
-
화면에 보여지다 Rendering
JSX
html tag는 .js파일안에서 사용불가
JS안에서 html같은 마크업을 넣어
뷰(UI)작업을 편하게 할 수 있게 함
const start__half = (
<div>
<h1>hi</h1>
<p>시작이 반</p>
</div>
);
-
react에는 단 하나의 html file존재
(public의 index.html) -
JSX 문법으로 React요소를 만들고
DOM에 rendering해서 뷰를 그린다(?) -
component에서 반환하는 element는 한개
-
class 대신 className
<div className="App">
-
인라인으로 style 주기
// 중괄호를 두 번 / 딕셔너리도 자바스크립트 <p style=>orange</p>; //or 스타일 딕셔너리를 변수로 만들고 쓰기 function App() { const styles = { color: "orange", fontSize: "20px", }; return ( <div className="App"> <p style={styles}>orange</p> </div> ); }
- react project 폴더에서 yarn start (구동)
- localhost:3000 에서 확인
Props?
- 부모 component로 부터 받아온 data
- Mother의 name -> Child에게 전달
- props로 name을 전달함
- 받은 props를 Child에서 console로찍어봄
- 함수(컴포넌트)의 인자로 props넣음?
-
자식->부모에게로 props 전달불가
- JSX에서 { }안에 JS문법사용
children
-
<Component props={props} />와 다른방식
import React from "react"; function User(props) { return <div>{props.children}</div>; } function App() { return <User>안녕하세요</User>; } export default App;
children 용도
- layout component를 만들 때 자주 사용
-
layout 안에 header, 그아래 {pops.children}을통해 props를 받아서 rendering
// src/About.js import React from "react"; import Layout from "./components/Layout"; function App() { return ( <Layout> <div>여긴 App의 컨텐츠가 들어갑니다.</div> </Layout> ); } export default App;
react 학습자료 개판인 듯
html DOM 1-4 Document object model
- html 단위 하나하나를 객체로 생각하는 모델
- 상위->하위 부모->자식 tree구조
- document.body
- document.body.child~
- document.body.children9
- document.getElementByTagName(“div”)
JSX 1-10
react 1-12
- node
- node version maneger nvm
- node pakage maneger npm
- yarn
- create react app cra
react 가상DOM
- 가상으로 DOM을 그리고 바뀐부분만 적용 - 연산이 줄어듦
- 처음 page에 진입 > DOM을그림
- data가 변했을때 마지막에 DOM을그림
- site구조에 따라 가상돔이 느릴수도있음
Life cycle1
-
생성: mount(얹혀지는) componentDid-Mount
- update
- new props : 부모가자식에게 주는 data 바뀌면
- setState : 내가 가진 정보가 바뀌면
- rerandering : 부모가 rerandering되면
- forceupdate : 강제로
- 제거: unmount(덜어내는) componentWill-Unmount
Life cycle2
- class / function component
- class이제 안씀 - 다만 기존 코드를 이해. 수정할정도