我在React中创建了一个名为Symbol
的组件,可以轻松地按名称渲染HTML符号,例如euro
将呈现€
(€),sum
将呈现∑
(∑)。
问题是,如果我只呈现HTML代码,我会在屏幕上看到代码而不是符号。因此,我必须在一个span
元素上使用dangerouslySetInnerHTML属性以HTML形式呈现它:
const SYMBOLS = {
euro: '€',
sum: '∑'
}
const Symbol = (props) => {
const { entity } = props
return <span dangerouslySetInnerHTML={{ __html: SYMBOLS[entity] }} />
}
export default Symbol
这个方法虽然有效,但在“不必要”的span
内包装符号感觉有些不太妥当。所以,请问有没有人有想法在React中渲染HTML符号而又不使用额外的包装器呢?
€
或者∑
。很明显,谢谢你启发我 ;) - johannchopin