首页 > 解决方案 > 如何防止通过 React 编码 href 属性

问题描述

我正在使用ReactDOMServer.renderToStaticMarkup通过替换一些占位符来呈现稍后将由一些第三方库处理的 HTML,例如这里:

<a href="<%asm_preferences_raw_url%>">Preferences</a>

<%asm_preferences_raw_url%>将替换为实际的 URL。问题是 React 会自动对里面的所有内容进行编码href,然后变成&lt;%asm_group_unsubscribe_raw_url%&gt;. 知道如何防止这种情况吗?

标签: htmlreactjsurl-encoding

解决方案


您也可以危险地使用SetInnerHTML

const hrefLink = "<a href="<%asm_preferences_raw_url%>">Preferences</a>"

<div dangerouslySetInnerHTML={{__html: hrefLink }}> 

这将在 div 中包含您想要的带有锚标记的 html。


推荐阅读