출처: 리액트를 다루는 기술-VELOPERT
es6, es7 문법
es6
모듈을 불러오는 방법.
모듈을 불러오는 키워드 import.
import fs from 'fs';
이전)
var React = require('react');
var Component = React.Component;
지금)
import React, {Componenct} from 'react';
클래스 개념
클래스 없 vs 클래스 있
var와 const, let 키워드
*기본적으로 const 사용, 해당 값을 바꾸어야 할 때 let 사용하면 됨. *
var키워드: 해당 값을 사용할 수 있는 코드 영역이 함수 단위이다.
const와 let의 해당 값을 사용할 수 있는 코드 영역은 블록 단위이다.
const와 let은 블록 내부에서 중복 선언 불가.
const 키워드: 한 번 지정하고 나면 변경이 불가능한 상수를 선언할 때 사용하는 키워드.
한 번 선언하겸 재설정 불가
let 키워드: 동적인 값을 담을 수 있는 변수를 선언할 때 사용하는 키워드
화살표 함수 - 함수를 표현하는 새로운 방식, 함수를 파라미터로 전달할 때 유용
일반 함수는 자신이 종속된 객체를 this로 가리키며, 화살표 함수는 자신이 종속된 인스턴스를 가리킨다
화살표 함수는 자신이 포함한 외부 scope에서 this를 계승받는다
http://jeong-pro.tistory.com/110
es7
JSX문법
JSX= 자바스크립트의 확장 문법. 나중에 코드가 번들링되면서 Babel-loader를 사용하여 자바스크립트로 변환한다. 변환하면서 컴포넌트를 트리 구조의 객체로 정의할 수 있다.
감싸인 요소- 부모 요소 하나로 꼭 감싸야 함.
why? virtual DOM에서 컴포넌트 변화를 감지해 낼 때 효율적으로 비교할 수 있도록.
컴포넌트 내부는 DOM 트리 구조 하나여야 한다는 규칙이 있기 때문.
Fragment 컴포넌트- 부모 요소 하나로 감싸야 하는데 (div같은 걸로 감싸고 싶지 않을 때) Fragment 컴포넌트 이용하면 됨.
코드: Component와 함께 Fragment 불러와서 사용
import React, {Component, Fragment} from 'react'; //이렇게 import
class App extends Component {
render() {
return (
<Fragment> //fragment로 감싸기
<h2> hello </h2>
</Fragment> //fragment로 감싸기
);}}
자바스크립트 표현식 사용 가능 - 자바스크립트 표현식을 작성하려면 JST 내부에서 코드를 {}로 감싸면 됨.
import React, {Component, Fragment} from 'react';
class App extends Component {
render() {
const text='DDDDDDDD';
return (
<div>
<h2> hello {text} </h2> //{}로 감싸서 표현
</div>
);}}
if문 대신 사용하는 조건부 연산자 (삼항 연산자 , &&연산자)
JSX 내부의 자바스크립트 표현식에서 if문 사용 불가 but, 삼항/&&연산자를 통해 조건에 따른 것 렌더링 가능
코드:
import React, {Component, Fragment} from 'react';
class App extends Component {
render() {
const text='DDDDDDDD';
const condition=true;
return (
<div>
<h2> hello {text} </h2> //{}로 감싸서 표현
{
condition ? '참':'거짓' //condition값 true이므로 참 렌더링됨
condition && '보여주세요' //condition값 true이므로 참 렌더링됨
//fale라면 아무것도 렌더링 되지 않음
}
</div>
);}}
인라인 스타일링: 스타일 적용할 때 문자열 형태로 적용할 수 없어서 CSS 스타일을 자바스크리트 객체 형식으로 만들어 적용해야 함.
리액트에서 클래스 설정할 때는 class 대신 className 키워드로 설정해야 함.
언제나 태그 닫기 (html에서는 안닫는 input, br같은 태그도)
주석 //주석 (x) / * */ (x)
코드:
<div
style={style}
//self closed 태그에서만 작동되는 주석. 가능
/*이렇게도 주석 가능*/
/>
//여기선 안됨.
/*여기서도 안됨. */
</div>
'JAVASCRIPT > React' 카테고리의 다른 글
[생활코딩 React 강의2] 컴포넌트 만들기, Props, 컴포넌트 파일로 쪼개기 (0) | 2019.04.26 |
---|---|
[생활코딩 React 강의 1] 컴포넌트란? && React 기본 앱 뜯어보기 && 배포해보기 (0) | 2019.04.24 |
DOM조작 & react_router (0) | 2019.01.05 |
1_추가 내용 (0) | 2018.12.17 |
1_props & state (0) | 2018.12.17 |
Comments