Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
html2react
Advanced tools
A utility for turning raw HTML into React elements.
npm install --save html2react
If you want to take raw HTML, SVG or any arbitrary XML and turn it into something that you can use in a React application, without using dangerouslySetInnerHTML, then you can simply pass it to html2react
:
import React from 'react'
import { render } from 'react-dom'
import HTML2React from 'html2react'
const html = `
<h1>Foo</h1>
<p><a href="#" style="text-decoration: none;">Bar</a></p>
<p>Baz</p>
`
render(
<div>
{HTML2React(html)}
</div>,
document.getElementById('root')
)
Note: All attributes but event handlers will be transferred to the React elements.
A powerful feature of html2react
is the ability to target elements in the provided HTML and override them with React components, using nothing but CSS selectors for the mapping. Super simple!
The following example maps any <a>
tag in the HTML to the local Link
component:
import React from 'react'
import { render } from 'react-dom'
import HTML2React from 'html2react'
function Link (props) {
return <a {...props} style={{ textDecoration: 'none' }} />
}
const html = `
<h1>Foo</h1>
<p><a href="#">Bar</a></p>
<p>Baz</p>
`
const content = HTML2React(html, {
a: Link
})
render(
<div>
{content}
</div>,
document.getElementById('root')
)
The following example maps any <a>
tag with an external
class to the local ExternalLink
component. It also demonstrates a slightly more complex selector that maps only the third <p>
tag to a <p>
tag that wraps the local Link
component:
import React from 'react'
import { render } from 'react-dom'
import HTML2React from 'html2react'
function Link (props) {
return <a {...props} style={{ textDecoration: 'none' }} />
}
function ExternalLink (props) {
return <Link {...props} target='_blank' />
}
const html = `
<h1>Foo</h1>
<p><a href="http://bar" class="external">Bar</a></p>
<p><a href="#">Baz</a></p>
<p>Qux</p>
`
const content = HTML2React(html, {
'a.external': ExternalLink,
'p:nth-of-type(3)': (props) => <p><Link {...props} /></p>,
a: Link
})
render(
<div>
{content}
</div>,
document.getElementById('root')
)
MIT (http://www.opensource.org/licenses/mit-license.php)
See LICENSE attached.
FAQs
Utility for turning raw HTML into React elements
We found that html2react demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.