Можно ли использовать тег trans-i18next trans внутри тега шлема React? - PullRequest
0 голосов
/ 27 апреля 2020

Следующий код

const x = (<Trans>Welcome</Trans>);
<helmet><title>{ `${x}` }</title></helmet>

не показывает заголовок = Добро пожаловать. Он показывает title = object, object

Следовательно, мне интересно, могу ли я использовать тэг реагировать-i18next внутри тега реактивного шлема?

1 Ответ

2 голосов
/ 27 апреля 2020

У вас не может быть пользовательских тегов JSX в шлеме. Поддерживаются только все допустимые теги заголовка: title, base, meta, link, script, noscript, and style tags и их атрибуты. Однако вы можете использовать функцию t из i18n для перевода

// the hook
import { useTranslation } from 'react-i18next';

function MyComponent () {
  const { t, i18n } = useTranslation();
  return <helmet><title>{t('Welcome to React')}</title></helmet>
}

или с HO C, например

// the hoc
import { withTranslation } from 'react-i18next';

function MyComponent ({ t }) {
  return <helmet><title>{t('Welcome to React')}</title></helmet>
}

export default withTranslation()(MyComponent);

Документация о response-18n предоставляет более подробную информацию

...