javascript - 如何在字符串模板中放置链接?
问题描述
不确定这是否是一回事,但我一直试图在 JS 字符串模板中放置一个链接。
我有一个传递给反应组件的对象。属性之一是text
:
const someData = {
text: `blah blah blah call <a href="tel:+111222333444"></a> for more information`
}
我想将它作为道具传递给组件并渲染它:
<SomeComponent>{props.text}</SomeComponent>
并让该<a>
el 在字符串中呈现为实时链接,就像它被显式放在 DOM 上一样。
我尝试将 分配<a/>
给一个变量并对其进行插值,我尝试创建一个返回 DOM 节点的小函数<a>
(与我创建许多组件相同)并在插值字符串中调用该函数 - 两种方法都打印实际的 DOM节点作为文本。我用谷歌搜索了一下,看到了一些危险的SetInnerHTML hack,但是它们似乎仍然涉及将该节点嵌入字符串中间,无论危险与否,这对我不起作用。如果可以做到这一点,任何帮助表示赞赏或澄清:)
解决方案
function createMarkup() {
return {__html: 'blah blah blah call <a href="tel:+111222333444"></a> for more information'};
}
function SomeComponent() {
return <div dangerouslySetInnerHTML={createMarkup()} />;
}
推荐阅读
- django - Django 现在在 Heroku 中使用 ASGI + WSGI 的频道
- javascript - 如何构建我的 API 调用,以及将密钥和查询放在哪里?
- java - 以编程方式创建演员会话
- asp.net-boilerplate - asp.net 核心 webapi 服务的模板
- javascript - 使用reduce删除对象中的偶数
- java - 在 SpringBoot 中使用 Copy 命令从 Postgres 导出数据
- ios - Apple Maps 导航通知类型是什么?
- javascript - 我正在尝试在提交时自动关注下一个文本输入
- c++ - 一次加载整个缓存行以避免争用它的多个元素
- node.js - Angular ngoninit 没有返回更新的 mongodb 集合