javascript - 呈现 HTML 符号

标签 javascript html reactjs

我在 React 中创建了一个 Symbol 组件来轻松呈现 HTML Symbolseuro 这样的名字将呈现 (€) 或 sum 呈现 (∑).

问题是,如果我只渲染 HTML 代码,我将在屏幕上看到代码而不是符号。所以我不得不使用 dangerouslySetInnerHTML prop 在 span 元素上以将其呈现为 HTML:

const SYMBOLS = {
  euro: '€',
  sum: '∑'
}

const Symbol = (props) => {
  const { entity } = props

  return <span dangerouslySetInnerHTML={{ __html: SYMBOLS[entity] }} />
}

export default Symbol

这工作正常,但将符号包装在“不必要的”span 中感觉不对。那么有人知道如何在不使用额外包装器的情况下在 React 中呈现 HTML 符号吗?

最佳答案

dangerouslySetInnerHTML 是在 React 中处理原始 HTML 的标准方式。

应该避免,但这样做的方法是避免使用原始 HTML。

键入 或使用 JavaScript 转义序列:"\u20AC"

const SYMBOLS = {
  euro: "\u20AC",
  sum: '∑'
}

File Format Info 这样的网站是识别正确转义序列或获取可以复制/粘贴的字符的良好来源。

关于javascript - 呈现 HTML 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64818262/

相关文章:

javascript - 使用 Particles.JS 复制动画

javascript - JSDoc 中是否有 Implements 或 Extends 注释?

javascript - 如何在 Node.js 中编写非阻塞代码?

javascript - 我怎样才能知道网站正在运行什么版本的 ember?

html - Img 移动所有列?

javascript - 在 react-router v4 中获取路径参数

html - 如何为 HtmlAgilityPack HtmlDocument 设置编码

jquery - Bootstrap 将一个下拉菜单嵌套在另一个下拉菜单中

javascript - 如何在 ReactJS 和 ChartistJS 之间委托(delegate) svg 的渲染责任

reactjs - React Ant设计文件上传仅xls文件验证