尝试在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>
答案 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>