Я пытался реализовать react-i18next (10.9.0), используя код по ссылке ниже:
https://codesandbox.io/s/l23no88qmz?from-embed
Но я получил ошибку:
Attempted import error: 'translate' is not exported from 'react-i18next'.
Из [ https://github.com/i18next/реагировать-i18next/issues/810 ] я узнал, что в v8 использовался 'translate', а в v10 используются хуки.
Я хотел знать, могу ли я использовать react-i18next (10.9.0) без хуков? Если да, что я должен использовать вместо «перевести»?





react-i18next v10 был специально переработан для работы с хуками, поэтому вам нужно либо адаптировать свой код для поддержки хуков, либо использовать устаревшую версию v9.
Вы можете преобразовать хук в качестве реквизита и отправить его компоненту.
import {useTranslation} from 'react-i18next';
class XXX extends React.Component {
render() {
const {i18nTranslation} = this.props;
return <div>{i18nTranslation.t('welcome.msg')}</div>
}
}
export default connect(mapStateToProps, mapDispatchToProps)(function (props) {
const i18nTranslation = useTranslation();
return <XXX {...props} i18nTranslation = {i18nTranslation} />
});
хорошее руководство можно найти здесь: dev.to/adray/…