Render HTML as React element, possibly replacing dangerouslySetInnerHTML
How it works
It renders a provided HTML string into a React element.
; // => React Element// <a className="github" href="https://github.com"><b>GitHub</b></a>
It may be used in the render
method in a React component:
let App = React;
Or just by itself
ReactDOM;
If a provided HTML contains several top-level nodes, the function will return an array of React elements.
;// => [React Element <li>hello</li>, React Element <li>world</li>]
Pros and cons
Pros
- Can make use of React's reconciliation for plain HTML too
- Fully compatible with JSX
Cons
- It uses parse5 to parse HTML, which can result in large bundle size
- Can result in slower rendering speed, mainly for parsing
Install
Install with NPM:
npm i --save react-render-html
Import with CommonJS or whatever:
const renderHTML = ; ;
A bug!
When a bug is found, please report them in Issues.
Also, any form of contribution(especially a PR) will absolutely be welcomed 🍻