[javascript] Draft.js를 사용한 텍스트 에디터의 가로 스크롤 기능 구현하기

텍스트 에디터는 웹 애플리케이션에서 중요한 기능 중 하나입니다. 사용자는 긴 문서를 작성할 때 텍스트 에디터 내에서 가로 스크롤이 가능해야 합니다. 이번 블로그 포스트에서는 Draft.js를 사용하여 가로 스크롤 기능을 구현하는 방법을 다루겠습니다.

Draft.js란?

Draft.js는 React 기반의 JavaScript 라이브러리로, 텍스트 에디터 개발을 위한 강력한 도구입니다. Draft.js를 활용하면 사용자 인터페이스와 콘텐츠 모델을 분리하여 텍스트 에디팅 기능을 개발할 수 있습니다.

가로 스크롤 기능 추가하기

Draft.js에서 가로 스크롤을 지원하는 방법은 간단합니다. 텍스트 에디터의 컨테이너 div에 overflow-x: auto; 스타일을 적용하면 됩니다. 이렇게 하면 사용자가 긴 문서를 작성할 때 가로 스크롤이 생성되어 문서를 스크롤할 수 있게 됩니다.


import React from 'react';
import { Editor, EditorState } from 'draft-js';

class ScrollableEditor extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      editorState: EditorState.createEmpty()
    };
  }

  onChange = editorState => {
    this.setState({ editorState });
  };

  render() {
    return (
      <div style={{ overflowX: 'auto', height: '200px', width: '400px' }}>
        <Editor
          editorState={this.state.editorState}
          onChange={this.onChange}
        />
      </div>
    );
  }
}

위의 코드는 ScrollableEditor 컴포넌트를 생성하는 예시입니다. Editor 컴포넌트를 div 요소로 감싸고, div 요소에 overflowX: auto 스타일을 적용하여 가로 스크롤을 생성할 수 있습니다. heightwidth 속성은 필요에 따라 조정하여 원하는 크기로 설정할 수 있습니다.

이제 ScrollableEditor 컴포넌트를 원하는 곳에서 사용하여 가로 스크롤이 가능한 텍스트 에디터를 구현할 수 있습니다.

마무리

이번 포스트에서는 Draft.js를 사용하여 가로 스크롤 기능을 구현하는 방법을 알아보았습니다. overflow-x: auto; 스타일을 사용하여 텍스트 에디터의 컨테이너에 가로 스크롤을 생성할 수 있습니다. Draft.js는 텍스트 에디터 개발을 간편하게 해주는 강력한 도구이므로, 다양한 기능을 추가하여 텍스트 에디터를 개발해보는 것을 추천합니다.

참고 자료