Использование активных компонентов в строке для response-intl-universal

Попытка использовать Link внутри строки i18n, но она не читает компонент Link должным образом. Как вы включаете реагирующие компоненты в response-intl-universal?

языковой файл json

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

Javascript

import { Link } from 'react-router'

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

0 ответов

Вы не можете передать компонент в реакции-intl-универсальный метод getHTML(). Когда вы вызываете этот метод, response-intl-universal создает элемент span и устанавливает его внутренний HTML. Таким образом, перевод, который вы возвращаете с помощью intl.getHTML(), является просто строкой HTML, а не компонентом, который будет переведен в HTML по реакции.

Вы должны разбить ваш перевод на 2 части и написать что-то вроде:

import { Link } from 'react-router'

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

Другие вопросы по тегам