본문 바로가기
React

react

by 엉덩이가 무거운 개발자 2021. 6. 5.

react element ?

HTML 태그 처럼 사용 할 수 있는 것을 리액트 요소라고한다.

jsx를 사용해 리액트 요소를 만든다.
ex) <input type="input" className="input__text">텍스트!!</input >

React 요소는 실제 DOM 요소가 아니고 JavaScript 객체이다.

 

JSX가 하는 일은 React Element를 만드는 것.!!!

JSX 란 ?

자바스크립트 구문 확장 . JS + XML ( ECMAScript 표준과 관련이 없다 )
HTML이 아니다 JavaScript를 확장한 문법이다.

 

개발자가 작성한 리액트의 JSX 코드를 Babel 이 React.createElement( )로 컴파일해준다. 그 후 실제 DOM에 적용

 

- jsx 는 javascript 객체를 반환.
- jsx 내부에서 js 표현식을 사용하고 싶을 경우 { } 사용하자.

 -js 표현식{ } 연산된 결과 값을 처리한다
     
if  표현식 내에서 사용 할 수 없다. 식이 아니기 때문이다 (문이기 때문)
    식은 결과값을 가지고 있어야한다.

    고로, 다른 함수에서 if문을 만들고 JSX를 사용해서 React Element를 리턴하자.

 

리액트 요소를 만드는 것이 컴포넌트 



Babel 이란?

 ES6+ ↑ 버전 -> 최신 자바스크립트 문법을 모든 브라우저가 이해하지 못하기 때문에
babel이
브라우저가 이해할 수 있는 문법으로 변환해준다

바벨을 사용하기 위해서는 노드js가 필요

자바스크립트나 타입스크립트, JSX 등 다른 언어로 분류되는 언어들에 대해서도
모든 브라우저에서 동작할 수 있도록 호환성을 지켜준다 (컴파일러)

 


리액트에서는 빌드가 된 최종 배포상태에서 동작하는 경로를 기준으로 설정이 된다.

 

배포되면 public/안에 있는 index.html 등 리소스들이 최상위 루트로 지정된다.

 

'React' 카테고리의 다른 글

React Event  (0) 2021.07.02
React state  (0) 2021.07.02
React component  (0) 2021.07.01
가상 DOM 그리고 DOM  (0) 2021.07.01
PureComponent  (0) 2021.05.27