html - 在调用 React.createElement 时,有什么方法可以避免 HTML 转义文本子项吗?

标签 html reactjs html-escape-characters

考虑以下对 React.createElement 的调用:

React.createElement('span', null, null, ['><',])

这将导致 React 转义 ><。有什么方法可以避免此文本被转义吗?

最佳答案

您可以使用 dangerouslySetInnerHTML

const Component = () => (
   <span dangerouslySetInnerHTML={{ __html: '&gt;&lt;' }} />
);
 
ReactDOM.render(
   <Component />, document.getElementById('container')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="container"></div>

或者使用Unicode代码代替HTML特殊字符

const Component = () => (
  <span>{'\u003E\u003C'}</span>
);

ReactDOM.render(
  <Component />, document.getElementById('container')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="container"></div>

关于html - 在调用 React.createElement 时,有什么方法可以避免 HTML 转义文本子项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34231902/

相关文章:

javascript - Backbone 和 dom 问题

reactjs - React-pdf utf8 字体在即时渲染时不起作用,但在渲染时工作正常

jquery-select2 - Select2 在格式化选项的 html 内搜索

html - 如何在html代码中选择第一个表的最后一行?

php - 在附加的 HTML 上使用 jQuery 效果

java - Apache Wicket - 将 HTML 添加到反馈面板

javascript - 获取函数声明上的函数参数类型

javascript - 在html中显示react javascript

java - "org.apache.commons.lang.StringEscapeUtils"和 "en dash"

php - 单引号内的单引号 PHP