我在想什么。
说我有一个组件,我想访问t
值。我是否必须将其挂接到redux。由于要使用react-i18next
,因此我也不能仅使用i18next
:
import i18next from 'i18next'
class Comp extends Component {
render() {
return <Text>{i18next.t('space')}</Text>
}
}
或者这样做的缺点是什么?看来我的翻译仍在进行,但必须有不利之处吗?我猜只有在语言环境更改后才能看到更新吗?还有吗?
谢谢。
答案 0 :(得分:0)
您不能在React Component类上使用钩子(至少没有HOC)。
最好的办法是导入withTranslation
并通过此组件导出类。
我的意思是
// Other imports
import { withTranslation } from "react-i18next";
class ClassComponent extends React.Component {
//Code of your class
}
export default withTranslation()(ClassComponent);
请注意,渲染时应使用t
来调用this.props.t
。