【问题标题】:Display Links from text in react在反应中显示来自文本的链接
【发布时间】:2020-09-21 10:12:13
【问题描述】:

我创建了一个标记系统,用户可以在其中使用 @ 表示法标记文本中的其他用户,我正在保存整个推文客栈数据库,但是在检索时我得到了这样显示的文本

Hi My first tweet<Link to='/userprofile/ron'> @ron</Link>

如何让它显示出来

Hi My first tweet [@ron][1]  

@ron 是一个链接

【问题讨论】:

  • 是否有更改数据保存方式的选项?如果您可以在没有 &lt;link&gt; 标记的情况下存储文本,而只存储 @name,则可以在显示文本时动态构建这些链接(如果您更改配置文件 URL,这也可以防止旧链接中断路径)
  • 你能举个例子@DBS

标签: javascript reactjs


【解决方案1】:

您可以使用dangerouslySetInnerHTML

const text = "Hi My first tweet<Link to='/userprofile/ron'> @ron</Link>";

<div dangerouslySetInnerHTML={{ __html: text }} />

注意:确保从react-router 导入Link。另请记住,由于潜在的 XSS 攻击,这是有风险的。

【讨论】:

  • 也许使用 sanitize-html 模块清理文本并使用 dangerouslySetInnerHTML 渲染它会更好。
  • 似乎不起作用,href 起作用但它正在重新加载页面
【解决方案2】:

// 1. 创建组件

let linkItem = (props) => <p>Hi My first tweet <Link>{props.name}</Link></p>

【讨论】:

    猜你喜欢
    • 2019-12-08
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 2019-08-28
    • 2021-04-15
    • 2019-01-23
    • 1970-01-01
    • 2014-12-15
    相关资源
    最近更新 更多