Я использую React с react-i18next
Мой файл index.tsx содержит некоторые компоненты, и я могу использовать там функцию перевода.
index.js
import React, { Suspense } from 'react'
import ReactDOM from 'react-dom';
import * as utils from './Utils';
import './i18n';
import { useTranslation, withTranslation, Trans } from 'react-i18next';
...
const { t, i18n } = useTranslation();
//I can use the translate function here
t("title");
//call a util function
utils.helperFunction(...);
...
Здесь все отлично работает. Теперь я создал несколько вспомогательных функций в дополнительном файле
Utils.tsx
...
import { useTranslation, withTranslation, Trans } from 'react-i18next';
...
export function helperFunction(props: any){
//do stuff
//now I need some translation here - but useTranslation is not working?
const { t, i18n } = useTranslation();
t("needTranslation");
}
Как я могу использовать ту же логику перевода внутри моей вспомогательной функции? (без передачи функции t
во вспомогательный метод)
Или здесь использование крючка - неправильный подход?
Возникает следующая ошибка
React Hook "useTranslation" is called in function "helperFunction" which is neither a React function component or a custom React Hook function react-hooks/rules-of-hooks