考虑以下对 React.createElement
的调用:
React.createElement('span', null, null, ['><',])
这将导致 React 转义 >
和 <
。有什么方法可以避免此文本被转义吗?
最佳答案
您可以使用 dangerouslySetInnerHTML
const Component = () => (
<span dangerouslySetInnerHTML={{ __html: '><' }} />
);
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/