zoukankan      html  css  js  c++  java
  • React中防止字符转义

    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>&copy;</span>, ' 2015']}</h1>
            <h1 dangerouslySetInnerHTML={{__html: 'cc &copy; 2015'}}></h1>
            <h1 style={{ color: this.props.themeColor }}>cc  <span>&copy;</span> 2015</h1>
            <ThemeSwitch/>
          </div>
        )
      }
    }
    
    const mapStateToProps = (state) => {
      return {
        themeColor: state.themeColor
      }
    }
    Header = connect(mapStateToProps, null)(Header)
    
    export default Header
    
  • 相关阅读:
    Linux 命令[5]:rmdir
    Linux 命令[4]:pwd,date
    Linux 命令[0]:起航
    Linux 命令[3]:cd
    vscode插件
    Object.freeze()
    插件
    前端开发调试线上代码
    前端自动化测试是浪费时间还是节约时间?
    踩坑之用lrz插件进行图片压缩
  • 原文地址:https://www.cnblogs.com/xutongbao/p/9924768.html
Copyright © 2011-2022 走看看