我一直在尝试通过从下面的链接中使用代码来实现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/reaect-i18next/issues/810],我知道在V8中使用了"翻译",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} />
});