본문 바로가기
React

[React] todo

by ddanss 2022. 11. 10.
728x90

App.js

import {useEffect, useState} from "react";

function App() {
  const [toDo, setToDo] = useState(""); //입력값
  const [toDos, setToDos] = useState([]); //todo 리스트
  const onChange = (event) => setToDo(event.target.value);
  const onSubmit = (event) => {
    event.preventDefault();
    if(toDo==="") {
      return;
    }
    setToDos((currentArr) => [toDo, ...currentArr]); //배열에 입력된거 추가하고
    setToDo("");
  };
  return (
    <div>
      <h1>My to dos : {toDos.length}</h1>
      <form onSubmit={onSubmit}>
        <input 
        onChange={onChange} 
        value={toDo} 
        type="text" 
        placeholder="Write your to do"
        />
        <button>Add To do</button>
        <hr />
          <ul>
            {toDos.map((item, index) => (
              <li key={index}>{item}</li>
            )
            )}
          </ul>
      </form>
    </div>
  );
}
export default App;

 

index.js

import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);
반응형

'React' 카테고리의 다른 글

[React] 영화 목록  (0) 2022.11.13
[React] coin list 출력  (0) 2022.11.10
[React] useEffect2 cleanup  (0) 2022.11.10
[React] useEffect  (0) 2022.11.10
[React] create_react_app기초  (0) 2022.11.10

댓글