Virtual DOM 기반의 빠르고 약 4kB 크기인 React 호환 UI 라이브러리로, 최신 컴포넌트 API를 동일하게 제공합니다.
remarkablemark/html-react-parser
HTML 문자열을 Node.js와 브라우저에서 React 요소로 변환하는 HTML-to-React 파서입니다.
- 스타
- 2,431
- 포크
- 144
- 열린 이슈
- 12
- 마지막 커밋
- 어제
어떤 프로젝트인가요?
html-react-parser는 HTML 문자열을 하나 이상의 React 요소로 변환하므로, CMS, 데이터베이스 또는 API에서 가져온 마크업을 dangerouslySetInnerHTML을 사용하지 않고 React 컴포넌트 안에서 렌더링할 수 있습니다. 서버(Node.js)와 클라이언트(브라우저) 모두에서 동작하며, UMD 번들로 CDN에서 불러올 수도 있습니다.
parse 함수는 선택적으로 options 객체를 받습니다. replace 옵션을 사용하면 특정 DOM 노드를 직접 만든 React 요소로 바꿀 수 있으며, 자식 요소와 속성을 처리할 때는 domToReact 및 attributesToProps 같은 헬퍼를 사용할 수 있습니다. transform 옵션으로 파싱된 각 요소를 수정할 수 있고, library 옵션을 사용하면 React 대신 Preact나 사용자 지정 UI 라이브러리를 지정할 수 있습니다. 그 밖에 공백을 처리하는 trim, 서버 측 파싱을 위한 htmlparser2 설정, 브라우저 Trusted Types를 위한 trustedTypePolicy 옵션도 제공됩니다.
이 라이브러리는 HTML을 sanitize하지 않으므로 자체적으로 XSS를 방지하지 않습니다. 신뢰할 수 없는 출처의 입력은 sanitize하거나 Content Security Policy와 Trusted Types로 보호해야 합니다.
핵심 기능
- 01HTML 문자열을 컴포넌트에서 바로 렌더링할 수 있는 React 요소로 변환합니다.
- 02서버 측 렌더링을 위한 Node.js와 브라우저 모두에서 동작합니다.
- 03replace 옵션으로 조건에 맞는 DOM 노드를 사용자 지정 React 요소로 바꿉니다.
- 04transform 옵션으로 변환 후 파싱된 각 요소를 수정합니다.
- 05library 옵션을 통해 Preact 또는 사용자 지정 UI 라이브러리를 지원합니다.
- 06공백과 파싱 동작을 제어하는 trim 옵션 및 htmlparser2 설정을 제공합니다.
활용 사례
- CMS 또는 Markdown 파이프라인에서 가져온 HTML 콘텐츠를 React 앱 안에서 렌더링합니다.
- 렌더링 중 링크나 이미지 같은 포함된 태그를 React 컴포넌트로 바꿉니다.
- Node.js 기반 React 애플리케이션에서 HTML 조각을 서버 측 렌더링합니다.
빠른 시작
- 1
npm으로 설치
npm install html-react-parser --save - 2
HTML 문자열을 가져와 파싱
사용 전 알아둘 점
- XSS에 안전하지 않습니다. README에 HTML을 정화하지 않는다고 명시되어 있습니다.
- 잘못된 HTML을 정화하지 않습니다.
- htmlparser2 옵션은 서버(Node.js)에서만 작동하며 브라우저에서는 작동하지 않습니다.
토픽
자주 묻는 질문
- html-react-parser은(는) 무엇인가요?
- HTML 문자열을 Node.js와 브라우저에서 React 요소로 변환하는 HTML-to-React 파서입니다. html-react-parser는 HTML 문자열을 하나 이상의 React 요소로 변환하므로, CMS, 데이터베이스 또는 API에서 가져온 마크업을 dangerouslySetInnerHTML을 사용하지 않고 React 컴포넌트 안에서 렌더링할 수 있습니다. 서버(Node.js)와 클라이언트(브라우저) 모두에서 동작하며, UMD 번들로 CDN에서 불러올 수도 있습니다.
- html-react-parser은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- html-react-parser은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- html-react-parser은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. html-react-parser의 마지막 커밋은 2026년 11월 6일입니다.
- html-react-parser은(는) 어디에 사용할 수 있나요?
- CMS 또는 Markdown 파이프라인에서 가져온 HTML 콘텐츠를 React 앱 안에서 렌더링합니다. 렌더링 중 링크나 이미지 같은 포함된 태그를 React 컴포넌트로 바꿉니다. Node.js 기반 React 애플리케이션에서 HTML 조각을 서버 측 렌더링합니다.
- html-react-parser는 어떻게 설치하나요?
- npm으로 설치: npm install html-react-parser --save HTML 문자열을 가져와 파싱
- html-react-parser은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/remarkablemark/html-react-parser
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
웹, 서버, 네이티브 플랫폼에서 사용할 수 있으며 조합 가능한 컴포넌트로 인터랙티브 UI를 만드는 JavaScript 라이브러리입니다.
Virtual DOM 대신 JSX를 실제 DOM 업데이트로 컴파일하고 세밀한 반응성을 제공하는 선언형 JavaScript UI 라이브러리입니다.
내장 객체를 확장하지 않으면서 each, map, reduce, filter 같은 함수형 헬퍼를 제공하는 JavaScript 유틸리티 라이브러리입니다.
일상적인 코딩 작업을 위한 작고 독립적으로 가져올 수 있는 마이크로 모듈 400여 개로 구성된, 의존성이 없는 JavaScript 유틸리티 라이브러리입니다.
Takumi와 Forme를 기반으로 하며 shadcn/ui와 함께 사용할 수 있는, PDF 생성을 위한 복사·붙여넣기 방식의 React 컴포넌트입니다.