Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. import React, { useState, useEffect, useCallback } from 'react';
  2.  
  3. export default function TodoInput({ addTodo }) {
  4. const [input, setInput] = useState('');
  5.  
  6. const handleChange = (event) => {
  7. setInput(event.target.value);
  8. };
  9.  
  10. const handleAdd = useCallback(() => {
  11. if (input === '') {
  12. alert('값을 입력해주세요.');
  13. return;
  14. }
  15.  
  16. addTodo(input);
  17. setInput('');
  18. }, [input, addTodo]);
  19.  
  20. const handleKeyPress = useCallback((event) => {
  21. if (event.key === "Enter") {
  22. handleAdd();
  23. }
  24. }, [handleAdd]);
  25.  
  26. useEffect(() => {
  27. document.addEventListener('keypress', handleKeyPress);
  28. return () => {
  29. document.removeEventListener('keypress', handleKeyPress);
  30. };
  31. }, [handleKeyPress]);
  32.  
  33. return (
  34. <>
  35. <input value={input} onChange={handleChange} />
  36. <button onClick={handleAdd}>추가</button>
  37. </>
  38. );
  39. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement