Javascript 危险的西汀类药物<;链接>;
我的页面需要本地化。我使用gettext。MyJavascript 危险的西汀类药物<;链接>;,javascript,reactjs,gettext,Javascript,Reactjs,Gettext,我的页面需要本地化。我使用gettext。Myi18n.\uu函数返回翻译后的字符串,并用提供的参数替换%s符号 据我所知,我不能“危险地设置”JSX元素,但是我需要插入开始和结束标记。 我无法将字符串拆分为多个片段,因为后端提供了这样的功能 我愿意接受任何想法 这是我的div元素: <div dangerouslySetInnerHTML={{ __html: i18n.__('Feel free to %scont
i18n.\uu
函数返回翻译后的字符串,并用提供的参数替换%s
符号
据我所知,我不能“危险地设置”JSX元素,但是我需要插入开始和结束标记。
我无法将字符串拆分为多个片段,因为后端提供了这样的功能
我愿意接受任何想法
这是我的div
元素:
<div
dangerouslySetInnerHTML={{ __html: i18n.__('Feel free to %scontact us%s if you have found a bug.', ['<Link to="/info">', '</Link>']) }}
/>
我找到的解决方案是使用
标记而不是
标记,并在整个包装器上处理onClick
事件。事情是这样的:
<div
onClick={(e) => {
this.navigate(e);
}}
>
...
<div
dangerouslySetInnerHTML={{ __html: i18n.__('Feel free to %scontact us%s if you have found a bug.', ['<a href="/info">', '</a>']) }}
/>
...
</div>
你想在
标签中包装什么?@ChaseDeAnda我需要如果你发现了错误,请随时联系我们%s。
如果你发现了错误,请随时联系我们。@RudolphTheCat你找到解决方案了吗?@Thore已经有一段时间了。我在下面发布了我的解决方案。
navigate(event) {
const siteUrl = "https://www.test.com";
if (event.target.tagName === 'A') {
const href = event.target.getAttribute('href');
if (href.indexOf('mailto:') === -1) {
event.preventDefault();
this.props.history.push(href.replace(siteUrl, ''));
}
}
}