그리고 TagBox 컴포넌트에서 다음과 같이 props로 전달받은 onChangeTagstags를 사용하세요.

    components/write/TagBox.js

    import React, { useState, useCallback, useEffect } from 'react';
    import styled from 'styled-components';
    import palette from '../../lib/styles/palette';
    
    (...)
    
    const TagBox = ({ tags, onChangeTags }) => {
      const [input, setInput] = useState('');
      const [localTags, setLocalTags] = useState([]);
    
      const insertTag = useCallback(
        tag => {
          if (!tag) return; // 공백이라면 추가하지 않음 
          if (localTags.includes(tag)) return; // 이미 존재한다면 추가하지 않음
          const nextTags = [...localTags, tag];
          setLocalTags(nextTags);
          onChangeTags(nextTags);
        },
        [localTags, onChangeTags],
      );
    
      const onRemove = useCallback(
        tag => {
          const nextTags = localTags.filter(t => t != = tag);
          setLocalTags(nextTags);
          onChangeTags(nextTags);
        },
        [localTags, onChangeTags],
      );
    
      const onChange = useCallback(e => {
        setInput(e.target.value);
      }, []);
    
      const onSubmit = useCallback(
        e => {
          e.preventDefault();
          insertTag(input.trim()); // 앞뒤 공백을 없앤 후 등록
          setInput(''); // input 초기화
        },
        [input, insertTag],
      );
    
      // tags 값이 바뀔 
      useEffect(() => {
        setLocalTags(tags);
      }, [tags]);
    
      return (
        <TagBoxBlock>
          <h4>태그</h4>
          <TagForm onSubmit={onSubmit}>
            <input
              placeholder="태그를 입력하세요"
              value={input}
              onChange={onChange}
            />
            <button type="submit">추가</button>
          </TagForm>
          <TagList tags={localTags} onRemove={onRemove} />
        </TagBoxBlock>
      );
    };
    
    
    export default TagBox;

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