美文网首页
React中解决html字符转义的几中方法

React中解决html字符转义的几中方法

作者: 郭_小青 | 来源:发表于2020-02-25 11:10 被阅读0次

React 会将所有要显示到 DOM 的字符串转义,防止 XSS。所以如果 JSX 中含有转义后的实体字符比如 © (©) 最后显示到 DOM 中不会正确显示,因为 React 自动把 © 中的特殊字符转义了>

解决办法:

  • 直接使用 UTF-8 字符 ©
  • 使用对应字符的 Unicode 编码,查询编码
  • 使用数组组装 <div>{['cc ', <span>&copy;</span>, ' 2015']}</div>
  • 直接插入原始的 HTML
<div dangerouslySetInnerHTML={{__html: 'cc &copy; 2015'}} /> // cc © 2015
// 如果直接调用接口中返回的值dataHtml,则用以下方法
<div dangerouslySetInnerHTML={{__html: dataHtml}} />


*  dangerouslySetInnerHTML是React标签的一个属性
*  其中有2个{{}},第1个代表Jsx{}开始,第2个代表dangerouslySetInnerHTML接收的是一个对象键值对
*  既可以插入DOM又可以插入字符串
*  不合时宜的使用 innerHTML可能会导致 cross-site scripting (XSS) 攻击。 净化用户的输入来显示的时候,经常会出现错误,不合适的净化也是导致网页攻击的原因之一。
*  dangerouslySetInnerHTML 这个 prop 的命名是故意这么设计的,以此来警告,它的 prop 值( 一个对象而不是字符串 )应该被用来表明净化后的数据

相关文章

  • React中解决html字符转义的几中方法

    React 会将所有要显示到 DOM 的字符串转义,防止 XSS。所以如果 JSX 中含有转义后的实体字符比如 ©...

  • Python如何解码编码html中的"等字符

    如图出现html转义编码的字符,比如引号变为"。 解决方法: 使用自带html库中的unescape 结果...

  • Html/Xml中的转义字符

    HTML中的转义字符HTML中<, >,&等有特殊含义,(前两个字符用于链接签,&用于转义),不能直接使用。使用这...

  • 用 Python 处理 HTML 转义字符的5种方式

    什么是转义字符 在 HTML 中 <、>、& 等字符有特殊含义(<,> 用于标签中,& 用于转义),他们不能在 H...

  • python 代码常见报错及解决

    文件路径导致的问题,window文件路径可以用\,但在字符串中\被当作转义字符来使用 解决方法: 方式一:转义的方...

  • 2019-03-18

    ①XML中字符的转义(解决单双引号、大于小于等问题)、XML与HTML的区别 https://blog.csdn....

  • 开发属于自己的包

    1. 需要实现的功能 ① 格式化日期 ② 转义 HTML 中的特殊字符 ③ 还原 HTML 中的特殊字符 1.1....

  • html字符实体转义

    HTML 中的预留字符必须被替换为字符实体。 常见字符对应表: 一、字符转义成字符实体 测试: 二、字符实体转义成...

  • mybatis转义

    问题: 在mapper ***.xml中的sql语句中,不能直接用大于号、小于号要用转义字符解决方法: 1、转义...

  • 判断字符串中是否含有特殊字符

    判断字符串中是否含有特殊字符 处理html特殊字符转义问题参考文章

网友评论

      本文标题:React中解决html字符转义的几中方法

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