코드코코

[리액트] JSX 와 컴포넌트 본문

기록/수강내용

[리액트] JSX 와 컴포넌트

코드코코 2021. 10. 20. 16:41

JSX(JavaScript XML)

- 자바스크립트에 XML을 추가한 확장형 문법

- 하나의 파일에 자바스크립트와 HTML을 동시에 작성할 수 있어 편리

- HTML이 아니라 XML의 마크업 규칙을 따른다.

- 리액트 엔진을 통해 JSX파일이 기존 자바스크립트로 해석됨.(선언형 화면 기술)

 

JSX가 javaScript로 제대로 변환되기 위해서 지켜주어야 하는 규칙

- 꼭 닫혀야 하는 태그(Self Closing 태그)

- 두 개 이상의 태그는 무조건 하나의 태그로 감싸져 있어야 함.

  >>   <div></div>

  >>   <></>(Fragment) : 브라우저 상에서 따로 별도의 엘리먼트로 나타나지 않는다.

- JSX 안에 자바스크립트 변수를 보여줘야 할 때에는 { }으로 감싸서 보여줍니다.

- style 과 className 

  >> 인라인 스타일은 객체 형태로 작성

  >> background-color 처럼 - 구분되어 있는 이름들은 backgroundColor처럼 camelCase 형태로 네이밍

- 주석 : {/* 이런 형태*/}, 열리는 태그 내부에서는 주석 작성 가능.

 

 

컴포넌트

 

-MVC의 뷰를 독립적으로 구성하여 재사용할 수 있음. 예시 유튜브 영상 목록

-컴포넌트는 일종의 UI조각

 

-기존의 웹 프레임워크는 MVC(Model, View, Controller) 방식으로 정보, 화면, 구동 코드를 분리하여 관리.

-장점은 코드의 효율적관리에 있지만, 단점은 각 요소의 높은 의존성으로 코드를 일부만 변경하는 것이 어려움.

 > 이러한 불편함에서 컴포넌트가 등장

 

 

컴포넌트 구성 요소

데이터 구성 요소 특징
프로퍼티 상위 컴포넌트 에서 하위 컴포넌트로 전달 되는 읽기 전용 데이터
state 컴포넌트의 상태를 저장하고 변경할 수 있음.
컨텍스트 부모 컴포넌트에서 생성하여 모든 자식 컴포넌트에 전달하는 데이터.

 

 

출처 : 리액트 프로그래밍 정석(저자 박호준)