Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

유댕이의 개발공부일지

<TIL 20.07.08> React 본문

TIL

<TIL 20.07.08> React

유댕2 2020. 7. 8. 21:49

React 

  • UI(User-Interface)를 만들기 위한 JavaScript 라이브러리
  • 언어의 구조가 사람의 생각 구조에 가깝게 직관적이라는 점이 큰 장점
  • 단방향 데이터 흐름 (부모에서 자식으로 옮기는 것만 가능)

component(컴포넌트) 

- 하나의 의미를 가진 독립적인 단위 모듈

- 컴포넌트 이름은 항상 대문자로 시작

- JavaScript 함수와 유사

 

props(프롭스) 

- 상위 컴포넌트가 하위 컴포넌트로 내려주는 데이터

- 하위 컴포넌트는 사용만 가능하고 변경은 불가

- 프로퍼티의 줄임말

 

state

- 컴포넌트가 갖는 상태

- 객체의 형태로 컴포넌트 내에서 보관, 관리

- class컴포넌트로 작성되어야 함

- 값 변경 시 setState메서드 사용해야 함

- 값 변경 후엔 render()함수가 실행됨 

 life cycle

- 컴포넌트가 브라우저에 보일 때(생성)와, 업데이트, 사라질(삭제) 때 각 단계 전, 후로 특정 메서드가 호출됨

 

JSX

다수의 React 개발자는 JSX(JavaScript를 확장한 문법)라는 특수한 문법을 사용하여 React의 구조를 보다 쉽게 작성한다.

  • JSX는 객체를 표현
  • React  엘리먼트(element)를 생성
  • 태그가 비어있다면 /> 를 이용해 바로 닫기
  • 하나의 엘리먼트로 감싸기
  • js코드 적용할 땐 {} 사용하기
  • JSX내부에서 if문 사용할 수 없음( IIFE or 삼항 연산자 사용)
  • 클래스 이름 적용 시 className 사용하기

모든 항목이 렌더링 되기 전에, 문자열로 변환되는 특성으로 인해 XSS (cross-site-scripting) 공격을 방지할 수 있다.

 

Rendering Elements

   element

  • React 앱의 가장 작은 단위
  • 화면에 표시할 내용을 기술
  • 컴포넌트의 구성 요소
  • React 엘리먼트는 일반 객체

 

 


알아야 할 ES6 간단 정리

* Destructuring(구조 분해 할당)

* Arrow function(화살표 함수)

* For-of roof

* Template literals

더보기

let name = '유현';

console.log(`Hi my name is ${name}`) // Hi my name is 유현

* Default parameter(기본 매개변수)

더보기

function multiply(a, b = 1) { return a*b; }

multiply(5, 2); // 10

multiply(5); // 5

multiply(5, undefined); // 5

 * Rest 파라미터

더보기

const add = (a, b,... rest);  => { // 마지막 파라미터에... 을 붙여서 사용해야 한다

console.log(a) // 5

console.log(b) // 3

console.log(rest) // [ 9, 2, 1, 6 ] }

 

add(5, 3, 9, 2, 1, 6)

* Spread 연산자

더보기

const arr = ['a', 'b', 'c'];

console.log(arr) // ['a', 'b', 'c']

console.log(... arr) // a b c

 

const arr2 = [1, 2, 3]

console.log([... arr,... arr2]) // ['a', 'b', 'c', 1, 2, 3]

// 배열 합치기에 사용 가능

 

const copiedArr = [...arr]

console.log(copiedArr) // ['a', 'b', 'c']

// 배열 복사에 사용 가능

 


 

<간단 정리>

* 렌더링 :  HTML, CSS, JavaScript등 개발자가 작성한 문서를 브라우저에서 그래픽 형태로 출력하는 과정

 

 

 

 

 

 

출처 : React 공식문서

 

'TIL' 카테고리의 다른 글

<TIL 20.07.13> Callback  (0) 2020.07.13
<TIL 20.07.09> Functional Component VS Class Component  (0) 2020.07.09
<TIL 20.07.07> Express  (0) 2020.07.07
<TIL 20.07.06> CommonJS  (0) 2020.07.06
<TIL 20.07.03> HTTP  (0) 2020.07.03