그다음에는 Todos 컴포넌트에서 받아 온 props를 사용하도록 구현해 보세요.

    components/Todos.js

    import React from 'react';
    
    const TodoItem = ({ todo, onToggle, onRemove }) => {
      return (
        <div>
          <input
            type="checkbox"
            onClick={() => onToggle(todo.id)}
            checked={todo.done}
            readOnly={true}
          />
          <span style={{ textDecoration: todo.done ? 'line-through' : 'none' }}>
            {todo.text}
          </span>
          <button onClick={() => onRemove(todo.id)}>삭제</button>
        </div>
      );
    };
    
    const Todos = ({
      input, // 인풋에 입력되는 텍스트
      todos, // 할 일 목록이 들어 있는 객체
      onChangeInput,
      onInsert,
      onToggle,
      onRemove,
    }) => {
      const onSubmit = e => {
        e.preventDefault();
        onInsert(input);
        onChangeInput(''); // 등록  인풋 초기화
      };
      const onChange = e => onChangeInput(e.target.value);
      return (
        <div>
          <form onSubmit={onSubmit}>
            <input value={input} onChange={onChange} />
            <button type="submit">등록</button>
          </form>
          <div>
            {todos.map(todo => (
              <TodoItem
                todo={todo}
                key={todo.id}
                onToggle={onToggle}
                onRemove={onRemove}
              />
            ))}
          </div>
        </div>
      );
    };
    
    export default Todos;

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.