返回

React中防止字符转义

发布时间:2023-01-12 11:37:48 304
# html

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

解决方案:

import React, { Component } from 'react';
import PropTypes from 'prop-types'
import { connect } from 'react-redux'
import ThemeSwitch from './ThemeSwitch'

class Header extends Component {
static propTypes = {
themeColor: PropTypes.string
}

render () {
return (
<div>
<h1 style={{ color: this.props.themeColor }}>{['cc ', <span>©span>, ' 2015']}h1>
<h1 dangerouslySetInnerHTML={{__html: 'cc © 2015'}}>h1>
<h1 style={{ color: this.props.themeColor }}>cc <span>©span> 2015h1>
<ThemeSwitch/>
div>
)
}
}

const mapStateToProps = (state) => {
return {
themeColor: state.themeColor
}
}
Header = connect(mapStateToProps, null)(Header)

export default Header

 

 

 


特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
php 默认文档为index.htm 或者其他 2023-01-12 11:03:43