리액트로 에디터 생성하기 (CKEditor 라이브러리) + 부트스트랩 Tap

2023. 5. 9. 21:07·FE/React
  에디터 생성하기

1. 라이브러리 설치 - 터미널

npm install @ckeditor/ckeditor5-react @ckeditor/ckeditor5-build-classic

 
2. 에디터 컴포넌트 & 빌드 import

import { CKEditor } from '@ckeditor/ckeditor5-react';
import ClassicEditor from '@ckeditor/ckeditor5-build-classic';

 
3. CKEditor 컴포넌트 렌더링 - return문 안에 작성

<CKEditor 
        config = {{
            ckfinder:{uploadUrl:"/books/ckupload"}
        }}
        editor={ClassicEditor}
        data={content}
        onChange={(e, editor)=>{
            onChangeContent(editor.getData());
        }}
/>
속성(고정)역할설명
config에디터 설정 정의ckfinder는 업로드된 이미지 및 파일을 관리하기 위한 설정
uploadUrl은 파일 업로드 주소
editor에디터 타입 설정ClassicEditor는 CKEditor5에서 기본 제공되는 에디터 중 하나
data초기값 설정에디터에 표시할 초기값으로 content변수에 저장된 데이터를 담아줌
onChange에디터 변경시 실행할 함수editor.getData()는 에디터에 입력된 데이터를 HTML 형식의 문자열로 반환해주는 함수,
변환한 문자열을 onChangeContent함수의 매개변수로 보내준다.

4. onChangeContent함수 생성

const onChangeContent = (data) =>{
        setForm({
            ...form,
            content:data
        })
    }

html형식으로 변환된 데이터를 data변수로 받아 form의 content필드에 담아준다.
 
 

부트스트랩 Tab
탭 기능 삽입

 
1. 부트스트랩 라이브러리 설치

npm install react-bootstrap

2. 컴포넌트 import

import {Tab, Tabs} from 'react-bootstrap'

3. return문 안에 작성

 <Tabs defaultActiveKey="tab1">
    <Tab eventKey="tab1" title="기본정보" className="p-5">
	//탭 안에 들어갈 내용
    </Tab>
    <Tab eventKey="tab2" title="도서내용" className="my-4">
	//탭 안에 들어갈 내용
    </Tab>                  
</Tabs>

- Tabs 안에 Tab으로 탭을 나누어 준다.

  • DefaultActiveKey 속성: 컨테이너에서 기본적으로 활성화되는 탭 지정 (eventKey)
  • eventKey 속성: 해당 탭 식별하는 고유 값으로 탭 클릭시 처리할 함수에서 사용된다.
  • title 속성 : 탭 제목 지정

'FE > React' 카테고리의 다른 글

스프링 & 리액트 이미지 파일 등록(MultipartHttpServletRequest)  (0) 2023.05.11
리액트 구글 차트 사용법 (react google charts 라이브러리)  (0) 2023.05.08
React Context API 사용법 및 Props와 Context차이점  (0) 2023.03.16
리액트로 라우터 생성하기 (react-router-dom & qs 라이브러리)  (0) 2023.03.09
React - 카카오 API를 이용한 도서검색 (axios라이브러리, async, await)  (0) 2023.03.06
'FE/React' 카테고리의 다른 글
  • 스프링 & 리액트 이미지 파일 등록(MultipartHttpServletRequest)
  • 리액트 구글 차트 사용법 (react google charts 라이브러리)
  • React Context API 사용법 및 Props와 Context차이점
  • 리액트로 라우터 생성하기 (react-router-dom & qs 라이브러리)
시녜's
시녜's
성장중인 새싹 개발자 🌱
  • 시녜's
    개발기록
    시녜's
  • 전체
    오늘
    어제
    • 분류 전체보기
      • FE
        • React
        • javascript(jQuery)
        • HTML & CSS
      • BE
        • Java [Servlet , Spring]
        • C & C++
        • Node.js
        • node.js
        • SQL (Oracle, mysql)
      • CS
        • 프로그래밍 이론(정보처리기사)
      • OS
        • Linux
      • Etc
        • 코딩 챌린지
        • 개발 성장 일지
        • 코딩테스트
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바
    자바조건문
    코테기초
    코딩기초
    javascript
    백준코딩테스트
    코딩입문
    jquery
    코딩테스트
    코딩테스트입문
    프로그래밍
    백준브론즈
    Java
    제이쿼리
    스프링
    백준
    백준단계별문제
    mysql
    jsp
    자바스크립트
    백준문제풀이
    자바기초
    리액트
    html
    React
    자바반복문
    자바배열
    코테
    CharAt함수
    자바문자열
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
시녜's
리액트로 에디터 생성하기 (CKEditor 라이브러리) + 부트스트랩 Tap
상단으로

티스토리툴바