데브코스

리액트(2)

hxx_1 2024. 10. 31. 23:31

컴포넌트(Component)

1. 클래스형 컴포넌트

import { Component } from "react"; 
class ClassCom extends Component { // 반드시 상속 필요
  render() {
    return (
      <div>
        클래스형 컴포넌트
      </div>
    )
  }
}

export default ClassCom;

 

2. 함수형 컴포넌트 

: 클래스형보다 간단함, 더 많이 사용

import React from 'react';
function FuncCom() {
  return (
    <div>
      함수형 컴포넌트
    </div>
  )
}

export default FuncCom;

 

구조 분해 할당

: 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 표현식

➡️구조 분해 할당을 통해 colors 배열의 값을 차레대로 f,s,t 변수에 담을 수 있다. 

➡️객체 또한 마찬가지로 구조 분해 할당을 통해 person 객체의 속성 값을 name, age, city 에 차례대로 담을 수 있다. 

데이터 반복 처리하기

import React from 'react';

const MapTest = () => {
  const fruits = ['apple', 'banana', 'orange'];

  return (
    <div>
      <h2>과일</h2>
      <ul>
        {
          fruits.map((fruit, index)=> (
            <li key= {index}>{fruit}</li>
          ))
        }
      </ul>
    </div>
  )
}

export default MapTest;

 

map 함수 사용하기

  • map 함수는 fruits 배열의 각 요소에 대해 한 번씩 실행된다.
  • map은 각 반복마다 콜백 함수 (fruit, index) => (...) 를 호출한다.
  • fruit: 현재 처리 중인 배열 요소 (예: 'apple', 'banana', 'orange')
  • index: 현재 요소의 인덱스 (0, 1, 2)
  • 콜백 함수는 각 fruit을 <li> 요소로 변환한다.
  • map은 콜백 함수가 반환한 각 결과를 모아 새로운 배열을 만든다.
[
  <li key={0}>apple</li>,
  <li key={1}>banana</li>,
  <li key={2}>orange</li>
]

 

➡️ 결과적으로 위와 같은 배열이 생성된다. 


🌟배운 점

오늘 리액트로 투두리스트를 만드는 실습을 진행했다. 이 과정에서 자바스크립트를 더 공부해야겠다고 느꼈다. 아직 filter 나 map과 같은 배열 메서드를 사용하는 데 익숙하지 않은 것 같다. 또한, useState를 통한 상태 관리 방법을 배웠지만, 그 동작 원리를 완전히 이해하기까지는 시간이 더 필요할 것 같다. 혼자 복습하는 시간을 가져야겠다.