我在我的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
答案 0 :(得分:2)
在第一个代码段中,您正在扩展React类,但在第二个代码段中,this
并未引用您的组件,而是引用该函数本身。因此,没有道具可供阅读。您需要将参数t
与其他参数一起添加。
换句话说,这应该有效:
export function UserInterface({data, onAdmin, isAdmin, t}: propTypes) {
...
{t('address.country')}