s00ng
쏭's blog
s00ng
전체 방문자
오늘
어제
  • 분류 전체보기 (69)
    • TIL (20)
      • 실습 (3)
    • Web (6)
      • React (6)
      • Basic (0)
    • JPA (5)
    • CS (3)
      • 컴퓨터 네트워크 (3)
    • Design pattern (10)
    • AWS (5)
    • ETC (0)
    • Algorithm (0)
    • Project (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

공지사항

인기 글

태그

  • design pattern
  • 가용영역
  • EC2 인스턴스
  • EC2
  • centOS 8
  • mariaDB
  • VMware
  • AWS
  • solid
  • 리전

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
s00ng

쏭's blog

Web/React

[React] Component에 대한 이해

2022. 7. 19. 09:21
Component란?
앱을 이루는 최소한의 단위

- UI는 재사용 가능한 개별적인 여러 조각으로 나눔(각 조각을 개별적으로 나누어 코딩)

- props 혹은 state 값을 입력받아 DOM 노드 생성(* DOM: 브라우저가 html을 인식하는 방식을 계층화해 트리구조로 만든 모델)

- 이름은 항상 대문자(소문자로 시작하는 컴포넌트는 DOM 태그로 취급)

 

Component 선언 방식

- 클래스형 과 함수형

→ 리액트 메뉴얼에서 권고하는 방식 : 함수형 + Hooks

클래스형 컴포넌트와 함수형 컴포넌트

 

모듈(분리한 컴포넌트)를 내보내기(export)

 

모듈(분리한 컴포넌트)를 불러오기(import)

 

반복되는 형태의 코드 → Map() 함수로 관리

Map() : 파라미터로 전달된 함수로 배열 내 각 요소를 원하는 규칙에 따라 변환해 그 결과로 새로운 배열 생성

arr.map(callbackFunction(currentCalue, index, array), [thisArg])

- callbackFunction : 새로운 배열 요소를 처리하는 함수

- currentValue : 현재 처리하고 있는 요소

- Index : 현재 처리하고 있는 요소의 index 값

- array: 현재 처리하고 있는 원본 배열

- thisArg: callback 함수 내부에서 사용할 this 레퍼런스

 

Map() 예시

리액트에서의 key

- 변동된 원소를 알아내기 위함

key 설정

- Map 함수의 인자로 전달되는 함수 내부에서 컴포넌트 props를 설정하는 것과 같이 설정

const nameList = names.map((name,index) => <li key={index}>{name}</li>

- key값은 언제나 유일 

- 데이터가 가진 고윳값을 key값으로 설정

 

Props (Properties)

컴포넌트 속성 설정 시에 사용하는 요소

- props의 값은 부모 컴포넌트에서 설정해줌

- 자식 컴포넌트를 수정하여 랜더링

 

defaultProps : 별도의 props 값이 없는 경우 보여주는 기본 값

 

State

컴포넌트 내부에서 바뀔 수 있는 값

- 함수형 컴포넌트 → useState 라는 함수를 통해 사용

- 클래스형 컴포넌트 → 지니고 있는 state

 

useState

const [message, setMessage] = useState("초기값")

- 다음과 같이 배열의 첫번째 원소에는 현재 상태 저장

- 배열의 두번째 원소에는 상태를 바꿔주는 setter 함수

- 함수 인자에는 상태의 초기값

 

Props 와 State

 

'Web > React' 카테고리의 다른 글

[React] JSX 다루기(2)  (0) 2022.07.18
[React] JSX 다루기(1)  (0) 2022.07.17
[React] 프로젝트 맛보기 - Hello World!  (0) 2022.07.17
[React] 환경설정  (0) 2022.07.17
[React] React란?  (0) 2022.07.17
    'Web/React' 카테고리의 다른 글
    • [React] JSX 다루기(2)
    • [React] JSX 다루기(1)
    • [React] 프로젝트 맛보기 - Hello World!
    • [React] 환경설정
    s00ng
    s00ng

    티스토리툴바