将 React Element 的字符串值的一部分设为粗体

2023-12-24

我在我的文件中定义了变量:

var text = `The start of string ${<b>{this.state.isTrue ? 'Bolded' : 'Also Bolded'</b>} the end of string.`

该字符串被传递给 React 元素:

<span>{text}</span>

我想要文字Bolded or Also Bolded当组件呈现时加粗,但根据我尝试传递字符串的方式,我要么得到[object Object]相反或<b>Bolded</b>.

我发现工作的唯一方法是:

var text = <React.Fragment>The start of string {<b>{this.state.isTrue ? 'Bolded' : 'Also Bolded'</b>} the end of string.</React.Fragment>

但这看起来相当冗长,有时字符串是简单的并且不包含任何占位符,因此使用 React 元素来包装它似乎没有必要。另外,我希望能够将值存储在数据库中,并且在检索时应该以显示标记为粗体的文本的方式进行插值。

问题:有什么办法可以让文本之间<b></b>当组件渲染时,在粗体字符串中?


您可以使用以下方法实现您想要实现的目标dangerouslySetInnerHTML https://reactjs.org/docs/dom-elements.html?#dangerouslysetinnerhtml props.

看下面的代码:

function App(props) {
  const text = {
    __html: `The start of string <b>${
      props.isTrue ? "Bolded" : "Also Bolded"
    } </b> the end of string.`
  };

  return <span dangerouslySetInnerHTML={text} />;
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App isTrue={true} />, rootElement);
<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="root"></div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 React Element 的字符串值的一部分设为粗体 的相关文章

随机推荐

  • crypto.pbkdf2 导出 IV 和密钥到 crypto.createCipheriv 的正确设置是什么?

    在 Node js 的应用程序中 我使用加密模块 https nodejs org api crypto html用于对称加密 解密 我正在使用 AES 256 CTR 我最初假设加密 createCipher https nodejs o
  • 应用程序 onCreate 在 Activity onCreate 之后调用(未调用)

    在崩溃日志中 我发现了非常奇怪的应用程序错误 该错误发生在 Android 7 0 8 0 上 对于一些少量用户来说 但非常频繁 我无法重现该问题 这里的代码反映了当前应用程序的状态 我有一个对我的应用程序类的静态引用 public cla
  • 防止delayed_job后台作业在单个服务器上消耗过多的CPU

    我的 Rails 应用程序有许多任务被卸载到后台进程中 例如调整图像大小和上传到 S3 我在用着延迟作业 http github com collectiveidea delayed job tree master来管理这些流程 这些过程
  • Java:观察目录以移动大文件

    我一直在编写一个程序来监视目录 当在其中创建文件时 它会更改名称并将它们移动到新目录 在我的第一个实现中 我使用了 Java 的 Watch Service API 当我测试 1kb 文件时 它运行良好 出现的问题是 实际上创建的文件大小在
  • 如何在新行而不是主行中呈现 CKEditor5 工具栏按钮?

    我从源代码将 CKEditor5 集成到我的 create React 应用程序中 现在 我想在工具栏的新行中渲染溢出的按钮 但它们显示在单独的菜单项中 如何在新行而不是主行中显示按钮 这是我的配置 ClassicEditor defaul
  • 无法在 git 中复制和粘贴 - macos

    有谁知道如何使用 macOS 复制并粘贴 git 吗 我无法在左下窗格中选择 突出显示和复制其中的文本 更改 Thanks 我可以通过按以下命令从 gitk 复制 fn C
  • 如何从 TreeNode.FullPath 数据获取实际的树节点?

    我想存储 TreeNode FullPath 中的一些数据 然后我想重新扩展到目前为止的所有内容 有简单的方法吗 多谢 您可以将其编写为扩展方法TreeNodeCollection using System using System Lin
  • 仅显示 ISO 8601 时间戳的 12 小时时间格式

    所以我想在我的 iOS 应用程序的标签中显示从服务器传递的时间 但我在尝试找出如何设置正确的 NSDateFormatter 时遇到了麻烦 例如 我以这种格式从服务器获取此时间戳 2013 02 27T18 15 00 0800 我基本上想
  • 如何获得英文版的Win32Exception?

    我正在努力得到所有Exception消息都是英文的 无论我的程序运行在什么语言上 我已经使用以下帖子中的答案设法获得了几乎所有英文异常消息 异常消息是英文的吗 https stackoverflow com questions 209133
  • Flexbox 容器中的省略号[重复]

    这个问题在这里已经有答案了 自从最新 版本的 Firefox Nightly 35 0a1 以来 我一直遇到一个问题text overflow ellipsis在 Flexbox 容器内flex direction row 每列宽 50 D
  • WebGL GLSL 片段着色器在 iOS 上不起作用

    我正在使用经典柏林噪声 vec3 函数here https gist github com patriciogonzalezvivo 670c22f3966e662d2f83 classic perlin noise 当我在 MacBook
  • Windows 8 低功耗蓝牙 API 示例

    有没有人找到关于如何使用 C C 在 Windows 8 上发现 连接和断开 BLE 设备的好示例 我不确定如何获取与 蓝牙低能耗功能 API 一起使用的设备句柄http msdn microsoft com en us library w
  • 如何在codeigniter中显示电子邮件中的图像?

    this gt load gt library upload this gt load gt library email this gt email gt set newline r n this gt email gt from emai
  • 为什么 DapperRow.GetType() 返回 null?

    据我所知 Object GetType 永远不应该返回 null 相关讨论 https stackoverflow com questions 2201007 can object gettype ever return null Dapp
  • ZF + Doctrine2 phpUnit 错误:PDOExeption:您无法序列化或反序列化 PDO 实例

    我正在使用 DynamicGuys Doctrine2 集成到 zend 框架中 https github com dynamicguy zf1doctrine2 它有效 但如果我想用 phpUnit 进行测试 我会收到此错误 PDOExe
  • 无法在异步模块中使用“map”功能

    我正在使用node js 异步 模块并且需要使用 map 方法 基本上我有一个包含其他数组的数组 内部数组包含 2 个元素 类型和图像文件名 var arr0 var arr1 type1 image1 jpg jsonArr push o
  • QListWidget中的InternalMove使项目消失

    我正在尝试在树小部件内进行拖放操作 以便能够在该小部件内移动项目 我已经设法使项目可拖动 但是当我释放鼠标按钮时 该项目就会消失 为了缩小范围 我尝试了以下示例 取自此处的另一篇文章 它与 Windows 7 上的 Qt 5 4 中的树小部
  • Automapper 自定义值解析器重用多种类型

    我有一个项目 我试图使用 AutoMapper 从多个类进行映射 每个类中都有一些属性 我想使用一些自定义逻辑将源值解析到目标 我尝试使用 AutoMapper 文档中记录的自定义解析器方法 这是我的代码 public class Cust
  • Chrome 中的同步控制台日志记录

    是否可以同步记录到控制台 我经常遇到代码执行比转储结构更快的情况 这解决了输出已更改的对象的问题 我当然可以使用调试器浏览代码 进行单元测试等 通常很方便console log只是为了大致了解正在发生的事情 您可以在将对象传递给之前创建该对
  • 将 React Element 的字符串值的一部分设为粗体

    我在我的文件中定义了变量 var text The start of string b this state isTrue Bolded Also Bolded b the end of string 该字符串被传递给 React 元素 s