UseTranslation из реагировать-i18next возвращает ноль - PullRequest
0 голосов
/ 14 января 2020

useTranslation () возвращает неопределенное значение для i18n. Я не могу понять, почему. Я потратил много времени на отладку этой проблемы. Я буду признателен вам за помощь! enter image description here

1 Ответ

1 голос
/ 14 января 2020

поскольку я не видел ваш код, извините, в темноте это может быть затруднено.

Вам необходимо импортировать какой-нибудь файл, в котором есть настройка для i18n и где есть строки перевода. , Если вы не делаете это в Main, не знаете, где у вас это есть.

, то есть: translationUtils.js

import i18n from 'i18next';
import {initReactI18next} from 'react-i18next';

i18n.use(initReactI18next).init({

  lng: 'en',
  fallbackLng: 'en',

 resources: {
    en: {
      translation: {
        "myTranslationKey": "hello world"
      }
    }
  },

  keySeparator: false,
  interpolation: {
    escapeValue: false,
  },
});

export default i18n;

, вам нужно импортировать его в свой файл (тот, который у вас есть). на скриншоте), то есть:

import './translationUtils';

, и тогда вы сможете использовать его следующим образом:

const {t} = useTranslation();

t("myTranslationKey", "default value");

Вы также должны убедиться, что ваша версия реагирует на опорные крюки.

...