美文网首页
react中嵌入DOM

react中嵌入DOM

作者: 前端进城打工仔 | 来源:发表于2018-01-11 14:31 被阅读0次

最近前端使用的技术栈是react,在显示内容的时候发现数据库中的内容存的是包含HTML标签的一段文本,那么在前端显示的时候需要把这些文本的样式也显示出来,这就意味着我们需要在react中嵌入DOM而不是普通的文字内容。

使用dangerouslySetInnerHTML

在react中有一种自带的方式叫dangerouslySetInnerHTML

const description = (<div dangerouslySetInnerHTML={{__html: cleanHTML(book.description)}}></div>)
....
<div className="description">{description}</div>

使用这种方式可能会遭受 cross-site scripting (XSS) 攻击

使用包react-render-html

react-render-html使用方式如下:

import renderHTML from "react-render-html";
...
<div className="description">{renderHTML(book.description)}</div>

缺点:

  • 使用了 parse5 parse HTML所以会导致很大的bundle size。
  • render速度慢,花费很长的时间去parse。

并且看这个包的源码,发现同样使用了dangerouslySetInnerHTML的参数。

相关文章

  • react中嵌入DOM

    最近前端使用的技术栈是react,在显示内容的时候发现数据库中的内容存的是包含HTML标签的一段文本,那么在前端显...

  • React Tip

    React 只关心两件事: 更新DOM,相应事件在 React 中,对 DOM 只更新,不读取React 在整个应...

  • 关于使用dom-to-image以及html2canvas

    前言 基于react开发的多页面h5项目,嵌入客户端中,需要对页面内容生成海报进行分享 思路 1.使用dom-to...

  • react中获取dom以及使用ref

    一、react中获取dom有以下提供三种方法: js 常规dom操作方式,通过id获取dom 2.react原生函...

  • React之JSX

    什么是JSX React的核心机制之一就是虚拟DOM:可以在内存中创建虚拟的DOM元素。React利用虚拟DOM来...

  • react-router、react-redux、antd(La

    react-router(react-router-dom)文档链接 文档中的简介:React Router 是一...

  • react地址改变页面不刷新的问题

    查找方向 react react-dom react-router-dom版本依赖关系 现象 react@16.8...

  • React如何操作真实DOM

    最近在学习React的过程中遇到了一个问题,React怎么操作真实的DOM? 我们知道,React组件操作的DOM...

  • 六、react基本概念

    1、react-dom和react为什么要分开因为还有react-dom、react-canvas、react-a...

  • jsx 语法

    React的核心机制之一就是可以在内存中创建虚拟的DOM元素。React利用虚拟DOM来减少对实际DOM的操作从而...

网友评论

      本文标题:react中嵌入DOM

      本文链接:https://www.haomeiwen.com/subject/dqnznxtx.html