anott
기록
anott
  • 분류 전체보기
    • 오라클
    • SQL
    • 알고리즘
      • 백준저지
      • 프로그래머스
      • SWEA
    • 개발 관련
    • 프론트엔드
      • TypeScript, Next.js
      • React 공식문서 읽기
hELLO · Designed By 정상우.
anott
프론트엔드/React 공식문서 읽기

JSX 소개

프론트엔드/React 공식문서 읽기

JSX 소개

2022. 5. 23. 19:44
https://ko.reactjs.org/docs/introducing-jsx.html 를 읽고 정리한 글입니다.

 

  • JSX : JavaScript를 확장한 문법
    • HTML보다 JavaScript에 가깝기 때문에 camelCase 표기법 사용
  • JavaScript 코드 안에서 UI 관련 작업 시 시각적으로 도움이 되며, 에러 및 경고 메시지에 효율적
  • JSX의 중괄호 안에는 유효한 모든 JavaScript 표현식 포함 가능
  • 컴파일이 끝나면, JSX 표현식은 정규 JavaScript 함수 호출이 되고 JavaScript 객체로 인식된다
  • JSX 태그는 자식 포함 가능
  • JSX에 사용자 입력을 삽입하는 것은 안전
    • React DOM은 JSX에 삽입된 모든 값을 랜더링하기 전에 이스케이프하므로 애플리케이션에서 명시적으로 작성되지 않은 내용은 주입되지 않는다
    • 모든 항목은 렌더링되기 전에 문자열로 변환
    • 이 덕분에 XSS (cross-site-scripting) 공격 방지 가능
  • JSX는 객체를 표현
    • Babel은 JSX를 React.createElement() 호출로 컴파일
    • React.createElement()은 버그가 없는 코드를 작성하는 데 도움이 되도록 몇 가지 검사를 수행하며 React 엘리먼트 생성
    • React는 이 React 엘리먼트 객체를 읽어서, DOM을 구성하고 최신 상태로 유지하는 데 사용
      // JSX
      const element = (
        <h1 className="greeting">
          Hello, world!
        </h1>
      );
      
      // React.createElement()
      const element = React.createElement(
        'h1',
        {className: 'greeting'},
        'Hello, world!'
      );
      
      // React.createElement()이 생성한 React 엘리먼트
      const element = {
        type: 'h1',
        props: {
          className: 'greeting',
          children: 'Hello, world!'
        }
      };

 

 

저작자표시 비영리 (새창열림)

'프론트엔드 > React 공식문서 읽기' 카테고리의 다른 글

조건부 렌더링  (0) 2022.05.28
이벤트 처리하기  (0) 2022.05.26
State and Lifecycle  (0) 2022.05.25
Components와 Props  (0) 2022.05.24
Rendering Elements (엘리먼트 렌더링)  (0) 2022.05.23
    '프론트엔드/React 공식문서 읽기' 카테고리의 다른 글
    • 이벤트 처리하기
    • State and Lifecycle
    • Components와 Props
    • Rendering Elements (엘리먼트 렌더링)
    anott
    anott

    티스토리툴바

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.