엔터 이벤트 : onKeyDown VS onSubmit : 리액트 / HTML

horiz.d·2022년 1월 27일
0

리액트 꿀단지

목록 보기
25/41

onSubmit

function Todos({ todos, onAddTodo, onToggleTodo }) {

  const [text, setText] = useState("");
  const onChange = (e) => setText(e.target.value);
  const onSubmit = (e) => {
    e.preventDefault(); 
    onAddTodo(text);
    setText(""); 
  };

  return (
    <div>
      <form onSubmit={onSubmit}>
        <input
          value={text}
          placeholder="할 일을 입력하세요.."
          onChange={onChange}
        />
        <button type="submit">등록</button>
      </form>
      <TodoList todos={todos} onToggleTodo={onToggleTodo} />
    </div>
  );
}

onKeyDown

function Todos({ todos, onAddTodo, onToggleTodo }) {

  const [text, setText] = useState("");
  const onChange = (e) => setText(e.target.value);
  const onEnter = (e) => {
    if (e.key === 'Enter'){
    e.preventDefault(); 
    onAddTodo(text);
    setText(""); 
  }};

  return (
    <div>
      <form onKeyDown={onEnter}>
        <input
          value={text}
          placeholder="할 일을 입력하세요.."
          onChange={onChange}
        />
        <button type="submit">등록</button>
      </form>
      <TodoList todos={todos} onToggleTodo={onToggleTodo} />
    </div>
  );
}
profile
가용한 시간은 한정적이고, 배울건 넘쳐난다.

0개의 댓글