react

리액트 JSX란?

2022. 12. 14. 21:33
목차
  1. JSX란 무엇일까요.
  2. 1. class를 넣어줄땐 className
  3. 2. {} 중괄호를 많은 곳에 사용할 수 있다.
  4. 3.style을 넣고싶을때 style={}로 지정가능
  5. JSX는
  6. 조건부 렌더링
  7. Component
  8. class component
  9.  
  10. 선언형 (Declarative)와 명령형 (imperative)

JSX란 무엇일까요.

 

당연히 저는 모릅니다.

하지만 인터넷은 답을 알고있네요

 

const element = <h1>Hello, world!</h1>;

 

JSX란 자바스크립트를 확장한 문법이며 리액트와 함께 사용할 것이 권장되는 문법입니다.

이 JSX의 문법부터 아주 간단하게 정리해보겠습니다.

 

function App() {

  let post = 'posting';

  return (
    <div className="App">
      <div className='black-nav'>
        <h4 id= {post}> hello world</h4>
      </div>
      <h5> { post } </h5>
    </div>
  );
}

간단한 예제입니다.

뭔가 익숙하게 생겼는데 이것저것 합쳐져서 낯선 느낌이 드네요

 

 

1. class를 넣어줄땐 className

<div className="app">
</div>

html에서는 class를 부여하고자할땐 class = "클래스명"으로 클래스명을 지정해주었지만

리액트에서는 className을 통해서 class를 부여해줍니다.

 

 

2. {} 중괄호를 많은 곳에 사용할 수 있다.

let post = 'posting'

<h1 className = {post}> {post} </h1>

선언한 변수를 클래스네임으로 사용할수도있고 내용으로 사용할 수도 있고

대부분의 경우에서 사용이 가능합니다.

 

 

3.style을 넣고싶을때 style={}로 지정가능

<h2 style = { {color : red , fontSize : '16px'}  }> 내용 </h2>

object 형태로 값을 줄 수 있으며 , 를 통해 여러값을 한번에 줄 수 있습니다.

font-size가 아니라 fontSize로 지정해주어야하네요 이걸 카멜표기법이라고 한다고 합니다.

 

 

대충 이런거구나 싶은데 물론 더 많은 규칙이 있습니다.

 

이분 블로그가 야무지네요...

https://goddaehee.tistory.com/296

 

[React] 2. JSX란? (정의, 장점, 문법)

2. JSX란? (정의, 장점, 문법) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ [React 에서 사용하는 JSX ] 입니다. : ) 이번엔 React에서 자주 사용하게될 JSX에 대해 알아보도록 하자. 1. JSX란? - JSX(JavaScript X

goddaehee.tistory.com

 


JSX는

 

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

브라우저에서 실행되기 전에 바벨을 사용하여 일반 자바스크립트 형태의 코드로 변환된다.

반드시 부모 요소 하나가 감싸는 형태여야 한다. 

 


조건부 렌더링

if else Statement(if-else문)

Ternary Operator (삼항연산자)

&& Operator (and 연산자)

|| Operator (or연산자 )

등을 사용할 수 있습니다.


Component

 

functional component

함수에서 return값으로 dom element를 주는 component

상대적으로 아래 class component보다 많이들 사용되는 컴포넌트라고하네요..

 

class component

 


선언형 (Declarative)와 명령형 (imperative)

선언형 무엇을 하고싶은지에 초점을 맞춰 개발하는 프로그래밍 방법
명령형 무엇을 어떻게 할지를 구문 관점에서 연산을 설명하는 프로그래밍 방법

리액트는 선언형이며 컴포넌트 기반입니다.

 


 

 

 

 

 

참고자료

https://ko.reactjs.org/docs/introducing-jsx.html

 

JSX 소개 – React

A JavaScript library for building user interfaces

ko.reactjs.org

 

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

'react' 카테고리의 다른 글

컴포넌트와 Props  (0) 2022.12.27
JSX 문법 정리  (0) 2022.12.27
React Fragment  (0) 2022.12.27
초기 렌더링과 Virtual DOM  (0) 2022.12.27
react 실행오류 - npm ERR! errno -4058 해결방법  (0) 2022.11.18
  1. JSX란 무엇일까요.
  2. 1. class를 넣어줄땐 className
  3. 2. {} 중괄호를 많은 곳에 사용할 수 있다.
  4. 3.style을 넣고싶을때 style={}로 지정가능
  5. JSX는
  6. 조건부 렌더링
  7. Component
  8. class component
  9.  
  10. 선언형 (Declarative)와 명령형 (imperative)
'react' 카테고리의 다른 글
  • JSX 문법 정리
  • React Fragment
  • 초기 렌더링과 Virtual DOM
  • react 실행오류 - npm ERR! errno -4058 해결방법
냠냠맨
냠냠맨
프론트엔드 개발 전반을 다루는 기술 블로그입니다.
냠냠맨
React와 TypeScript를 좋아하는 개발자
냠냠맨
전체
오늘
어제
  • all category (434)
    • CMC (0)
    • best (11)
    • 년간회고 (1)
    • cheetsheet (15)
    • 프로젝트 회고 (3)
    • 서평 (3)
    • SEO Study (1)
    • 프로젝트 진행기 (10)
    • testcode (9)
    • yarnberry (7)
    • css (21)
    • typescript (15)
    • redux (7)
    • react (43)
    • Next.js (9)
    • Nestjs (3)
    • javascript (44)
    • programmers (67)
    • leetcode (41)
    • frontend (41)
    • backjoon (1)
    • Next.js Beta Docs 번역 (12)
    • TIL (15)
      • html (3)
    • Network (12)
      • 간단 정리 시리즈 (2)
      • 질답 준비 (0)
    • 자료구조와 알고리즘 (2)
    • CS (4)
      • OS (1)
    • 취업준비 (2)
    • zoom websocket (2)
    • talk (6)
    • 면접대비 (1)
    • 코드스테이츠 프론트 (5)
    • 간헐적 회고 (18)

블로그 메뉴

  • leetcode
  • programmers
  • javascript
  • html
  • css

공지사항

인기 글

태그

  • JavaScript
  • 테오의스프린트
  • LeetCode
  • 개발자
  • 코드스테이츠 #프론트엔드
  • frontend
  • teosprint
  • 개발
  • 테오의스프린트17기
  • border말풍선
  • CSS
  • 주니어개발자
  • 프론트엔드
  • 말풍선

최근 댓글

최근 글

hELLO · Designed By 정상우.
냠냠맨
리액트 JSX란?
상단으로

티스토리툴바

개인정보

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

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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