React i18n翻译问题

时间:2018-06-15 09:48:31

标签: reactjs internationalization translate

我在我的meteor / react应用程序中使用i18n并遇到了一些问题。 在这种情况下,一切都很完美:

import { translate, Trans } from 'react-i18next';
...
export class AddressVerificationForm extends React.Component {
...
{this.props.t('address.photos.format')}
...
export const AddressVerificationFormTranslated = translate('common')(AddressVerificationForm);

但在这种情况下:

import { translate, Trans } from 'react-i18next';
...
export function UserInterface({data, onAdmin, isAdmin}: propTypes) {
...
{this.props.t('address.country')}
...
export const UserInterfaceTranslated = translate('common')(UserInterface);

我明白了:

Uncaught TypeError: Cannot read property 't' of undefined

1 个答案:

答案 0 :(得分:2)

在第一个代码段中,您正在扩展React类,但在第二个代码段中,this并未引用您的组件,而是引用该函数本身。因此,没有道具可供阅读。您需要将参数t与其他参数一起添加。

换句话说,这应该有效:

export function UserInterface({data, onAdmin, isAdmin, t}: propTypes) {
...
{t('address.country')}