ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [TIL] 2020-03-14
    Trainings/이전 TIL 기록 2020. 3. 14. 21:51

    [groomdue]

    가장 핫한 프론트엔드 라이브러리🔥, React 가지고 놀아보기

     

    [배운 내용]

     

    <React Project 구조>

    - index.js 파일에 들어가면 ReactDOM.render(<App />, document.getElementById('root')); 가 존재한다.

    - 이 코드가 의미하는 것은 "App 컴포넌트를 root라는 id를 가진 element에 render하라"라는 뜻이다.

    - 그리고 publib/index.html 파일로 들어가면, <div id="root"><div> 코드가 있을 것이며, 바로 여기에 렌더링 되는 것이다.

     

    <React 기초 문법>

    - 원래 HTML Element에 클래스명을 설정하기 위해서는 class 속성을 사용해야한다.

    - 하지만 React에서는 class가 아닌 className이라는 속성을 사용해서 클래스명을 지정한다. 왜냐하면, React에서 class는 class 컴포넌트를 선언할 때, 그 class로 보기 때문이다.

    - React 컴포넌트에서 반환하는 HTML 코드에서의 최상위 Element는 단 한 개여야 한다.

     

    <Class Component>

    - 예전의 리엑트에서는 Class Components가 중요한 역할을 맡았었다. 그러나 React 16.8.0 업데이트 이후로 뒤에서 배울 내용인 Hooks에 대한 기능이 추가되어 Functional Component에서 LifeCycle API와 state 기능을 구현할 수 있어 잘 사용하지는 않는다.

    [code]

    // Class Component Example

    import React, { Component } from 'react';

    class Component1 extends Component {
      render() {
        return ( <div>
    Hello World!</div>

    );
      }


    export default Component1;

     

    // 1번 줄 - import React, { Component } from 'react';

    react 라이브러리에서 함수 또는 클래스를 import 한다. import 문법은 표준화된 자바스크립트인 ECMA Script6의 문법 중 하나로, export(확장)된 다른 파일의 함수 또는 클래스를 불러와 사용할 수 있도록 하는 기능이다.

     

    // 3번 줄 - class Component1 extends Component

    Component1이라는 컴포넌트를 class 문법을 사용해 선언한다.

     

    // 4번 줄 - render()

    render()는 React.Component의 하위 class에서 반드시 정의해야 하는 메서드이며, 리엑트에서 사용하는 컴포넌트를 생성한다.

     

    // 5번 줄 - return (<div>Hello World!</div>);

    4번 줄의 render 함수를 통해 컴포넌트를 만들기 위한 HTML을 반환한다.

     

    // 9번 줄 - export default Component1;

    다른 자바스크립트 파일에서 Component1이라는 class를 사용할 수 있게 export 한다.

     

    <Functional Component>

    - 예전에는 단순히 부모 컴포넌트를 받은 값을 출력만 해주는 컴포넌트였다.

    - React Hooks 업데이트 이후로 Functional Components에서도 상태 관리(state)와 LifeCycle API 사용이 가능해졌다.

     

    [code]

    // Functional Component Example

    import React from 'react';

    const Component2 = () => {
      return (
        

    Hello World!


      );
    }

    export default Component2;

    여기서 중요한 부분은 ECMA Script 6부터 생긴 Arrow Function이라는 새로운 함수 선언 방식이다.

    [예시]

     

    Arrow Function(새로운 선언 방식)

    const func1 = () => "Hello World!"; 
    const func2 = num => num * 2;

    [변수 선언부] [함수명] = [함수 인자 값] => [함수 내부 코드]

    기존 선언 방식

    function func1() {
      return "Hello World!";
    }
    function func2(num) {
      return num * 2;
    }

     

    'Trainings > 이전 TIL 기록' 카테고리의 다른 글

    [TIL] 2020-03-18  (0) 2020.03.18
    [TIL] 2020-03-16  (0) 2020.03.16
    [TIL] 2020-03-13  (0) 2020.03.13
    [TIL] 2020-03-12  (0) 2020.03.12
    [TIL] 2020-03-09  (0) 2020.03.09

    댓글

Designed by Tistory.