-
React컴포넌트에서 HTMLElement contentEditable 속성 사용하기Web Dev/3. React 관련 2021. 5. 27. 14:31728x90
const EditableBlock = ({ block }) => { return ( <div key={block.id} contentEditable={true}> {block.contents} </div> ); }; export default EditableBlock;
React에서 위와 같이 사용하면 난리를 친다. 그래서 react-contenteditable 라이브러리를 활용할 수 있다.
https://www.npmjs.com/package/react-contenteditable
yarn add react-contenteditable
아래와 같이 사용할 수 있다.
import ContentEditable from "react-contenteditable"; import { useState, useRef } from "react"; const EditableBlock = ({ block }) => { console.log("block", block); const [state, setState] = useState({ html: block.contents, tagName: "div" }); const ref = useRef(); return ( <ContentEditable innerRef={ref} html={state.html} disabled={false} onChange={(e) => setState((prev) => ({ ...prev, html: e.target.value }))} /> ); }; export default EditableBlock;
'Web Dev > 3. React 관련' 카테고리의 다른 글
React 관련 싹훑기(9) - 중첩되게 block이 들어갈 수 있도록 구성하기 + Tab기능(아직은 two depth) + focusing (0) 2021.05.28 React 관련 싹훑기(8) - 간단하게 Notion처럼 Editing이 가능한 블럭 구성하기 (0) 2021.05.27 React 관련 싹훑기(7) - Redux 앱 구상 및 간단한 상태설계 (0) 2021.05.26 React관련 싹 훑기(6) - react-redux hooks 부분 문서 읽고 실습 (0) 2021.05.26 React관련 싹 훑기(5) - you might not need redux, normalizr (0) 2021.05.25