반응형

// A_Lifecycle.js : 자식 컴포넌트
// 컴포넌트 단축키 : rfce
// TODO: 리액트 컴포넌트의 생명주기(LifeCycle) : 생성/수정
import React from 'react'
import { useEffect, useState } from 'react';

// 컴포넌트 : 함수 컴포넌트(클래스 컴포넌트(과거))
// es6 : ECMAscript == 모던자바스크립트
function A_Lifecycle() {
    // 변수와 함수를 정의하는 부분
    // TODO: 변수 정의 : 바인딩 함수
    // TODO: 사용법 : let [변수명, set변수명] = useState("초기값");
    // TODO: set변수명() : 수정함수(setter 함수)
    let [element, setElement] = useState(true);

    // TODO: 함수정의
    // TODO: 컴포넌트 생성 함수 : 자동 실행
    // TODO: 화면이 뜨자마자 실행됨 : Mount 함수
    useEffect(()=>{
        // 최초 1번만 화면이 뜰때 실행됨
        console.log("mount Call");
    }, []);

    // TODO: 컴포넌트 수정함수 : 자동실행
    // TODO: 변수의 값이 바뀔 때 자동실행됨
    useEffect(()=>{
      // 최초 1번만 화면이 뜰때 실행됨
      console.log("update Call : " + element);
    }, [element]);  // [element] => 감시 할 변수명


    // 화살표 함수 생성 단축어 nfn
    // 클릭 함수
    const handleClick = () => {
      // element = true -> false (값 수정)
      setElement(false);
     }
   
  return (
    // 이러한 구조로 작성 : <div>HTML 태그들...</div>
    // 잘못된 구조 : <div>태그1</div><div>태그2</div>
    <div>
        <h2>This is Lifecycle</h2>
        <button onClick={handleClick}>클릭하세요</button>
    </div>
  )
}

export default A_Lifecycle

반응형

'React > 이론' 카테고리의 다른 글

리액트의 조건문 : 삼항연산자를 사용한 예제  (0) 2023.08.31
map, filter  (0) 2023.08.31
CSS 적용  (0) 2023.08.30
JSX 문법  (0) 2023.08.30
Props  (0) 2023.08.30

+ Recent posts