React i18n 翻译问题
React i18n translate issue
我在 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
在第一个代码段中,您扩展了 React class,但在第二个代码段中,this
不是指您的组件,而是指函数本身。因此,没有可供阅读的道具。您需要将参数 t
与其他参数一起添加。
换句话说,这应该有效:
export function UserInterface({data, onAdmin, isAdmin, t}: propTypes) {
...
{t('address.country')}
我在 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
在第一个代码段中,您扩展了 React class,但在第二个代码段中,this
不是指您的组件,而是指函数本身。因此,没有可供阅读的道具。您需要将参数 t
与其他参数一起添加。
换句话说,这应该有效:
export function UserInterface({data, onAdmin, isAdmin, t}: propTypes) {
...
{t('address.country')}