使用字符串中的react组件进行react-intl-universal

时间:2018-09-18 07:52:40

标签: reactjs react-intl

尝试在i18n字符串中使用Link,但是无法正确读取Link组件。您如何在react-intl-universal中包含react组件?

语言json文件

{
  "somekey": "some<Link to={ link } somewhere </Link>"
}

javascript

import { Link } from 'react-router'

<Fragment>{ intl.getHTML('somekey', { link: `/somewhere` }) }</Fragment>

1 个答案:

答案 0 :(得分:0)

您不能在react-intl-universal getHTML()方法中传递组件。调用此方法时,react-intl-universal创建一个span元素并设置其内部HTML。因此,您使用intl.getHTML()返回的转换只是一个HTML字符串,而不是将由react转换为HTML的组件。

您应该将翻译分为两部分,并写上以下内容:

import { Link } from 'react-router'

<Fragment>
  {intl.get('contentBeforeLink')}
  <Link to="/somewhere">
    {intl.get('contentInsideLink')}
  </Link>
</Fragment>