为了账号安全,请及时绑定邮箱和手机立即绑定

如何将字符串部分更改为JSX元素?

如何将字符串部分更改为JSX元素?

明月笑刀无情 2023-09-14 20:37:10
我有一个字符串,其中有一个<a> text </a>标签,但当它显示在 ReactJS 的元素内时,浏览器只是将其读取为纯文本,这是我的示例代码const datas = [    {        title: 'the title1',        description: `the link was in <a href="#">here</a>, please click`    },    {        title: 'the title2',        description: `the link was in the last <a href="#">word</a>`    }]const renderDatas = () => {    return datas.map(data => {        return (            <div>                {data.description}            </div>        )    })}我已经在这里尝试了接受的答案,唯一的区别是,我使用的是字符串文字(`),但它也只能由浏览器以纯文本形式读取。我的预期结果是当浏览器读取它时使其成为<a href="#">here</a>可点击的链接。
查看完整描述

1 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

我认为,您可以使用 的angerouslySetInnerHTML属性div。例如:

const renderDatas = () => {

    return datas.map(data => {

        return (

            <div dangerouslySetInnerHTML={{ __html: data.description }} />

        )

    })

}

但是,请注意,正如文档所述:一般来说,从代码设置 HTML 是有风险的,因为很容易无意中使用户遭受跨站点脚本 (XSS) 攻击。


查看完整回答
反对 回复 2023-09-14
  • 1 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信