Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 危险的西汀类药物<;链接>;_Javascript_Reactjs_Gettext - Fatal编程技术网

Javascript 危险的西汀类药物<;链接>;

Javascript 危险的西汀类药物<;链接>;,javascript,reactjs,gettext,Javascript,Reactjs,Gettext,我的页面需要本地化。我使用gettext。Myi18n.\uu函数返回翻译后的字符串,并用提供的参数替换%s符号 据我所知,我不能“危险地设置”JSX元素,但是我需要插入开始和结束标记。 我无法将字符串拆分为多个片段,因为后端提供了这样的功能 我愿意接受任何想法 这是我的div元素: <div dangerouslySetInnerHTML={{ __html: i18n.__('Feel free to %scont

我的页面需要本地化。我使用gettext。My
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, ''));
        }
    }
}