소프트웨어 이론교육/웹 서비스 프론트엔드 개발

React (4) - 함수형 컴포넌트

마루설아 2022. 8. 3. 16:14
import logo from './logo.svg';
import './App.css';
import React from 'react';
import TodoList from './TodoList'
import { useState } from 'react';

// 1. 클래스형 컴포넌트
// 2. 함수형 컴포넌트
// 3. 외부 파일에 컴포넌트 선언

function TodoList2(props){
  const [todoList, setTodoList] = useState([
    '첫 번째 할일',
    '두 번째 할일',
    '세 번째 할일'
  ]);

  const [work, setWork] = useState("");

  return(<>
    <h3>{props.title}</h3>
    <div>
      <label>할 일 : </label>
      <input value={work} onChange={(e)=>{
        setWork(e.currentTarget.value)
      }} />
      <button onClick={(e)=>{
        setTodoList([...todoList, work])
      }}>저장</button>
    </div>
    <ol>
      {todoList.map((item, i)=>{
        return(<li key={i}>
          <span>{item}</span>
          <button>완료</button>
          <button>삭제</button>
        </li>
        )
      })}
    </ol>
  
  </>)
}

function App() {
  return (
    <div>
      <h1>Hello Work</h1>
      <TodoList2 title="할일 목록"/>
    </div>
  );
}

export default App;

 

 

'소프트웨어 이론교육 > 웹 서비스 프론트엔드 개발' 카테고리의 다른 글

React (6) - TodoList 구현  (0) 2022.08.05
React (5) - 게시판 구현  (0) 2022.08.04
React (3) - 클래스형 컴포넌트  (0) 2022.08.03
React (2) - 기초2  (0) 2022.08.03
React (1) - 기초  (0) 2022.08.03