이어서 Editor 컴포넌트를 다음과 같이 수정하세요.

    components/write/Editor.js

    import React, { useRef, useEffect } from 'react';
    import Quill from 'quill';
    import 'quill/dist/quill.bubble.css';
    import styled from 'styled-components';
    import palette from '../../lib/styles/palette';
    (...)
    
    const Editor = ({ title, body, onChangeField }) => {
      const quillElement = useRef(null); // Quill을 적용할 DivElement를 설정
      const quillInstance = useRef(null); // Quill 인스턴스를 설정
    
      useEffect(() => {
        quillInstance.current = new Quill(quillElement.current, {
          theme: 'bubble',
          placeholder: '내용을 작성하세요...',
          modules: {
            // 더 많은 옵션
            // https://quilljs.com/docs/modules/toolbar/ 참고
            toolbar: [
              [{ header: '1' }, { header: '2' }],
              ['bold', 'italic', 'underline', 'strike'],
              [{ list: 'ordered' }, { list: 'bullet' }],
              ['blockquote', 'code-block', 'link', 'image'],
            ],
          },
        });
    
        // quill text-change 이벤트 핸들러 등록
        // 참고: https://quilljs.com/docs/api/#events
        const quill = quillInstance.current;
        quill.on('text-change', (delta, oldDelta, source) => {
          if (source = = = 'user') {
            onChangeField({ key: 'body', value: quill.root.innerHTML });
          }
        });
      }, [onChangeField]);
    
      const onChangeTitle = e => {
        onChangeField({ key: 'title', value: e.target.value });
      };
    
      return (
        <EditorBlock>
          <TitleInput
            placeholder="제목을 입력하세요"
            onChange={onChangeTitle}
            value={title}
          />
          <QuillWrapper>
            <div ref={quillElement} />
          </QuillWrapper>
        </EditorBlock>
      );
    };
    
    export default Editor;

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