react-admin 翻译输入字段的默认值
react-admin translate defaultValue for input field
我想按照 here. Also I want to have the default values translated as described here 所述为创建视图定义默认值。我导入了高阶组件并尝试将翻译用作函数。
import { translate } from 'react-admin';
export const PostCreate = (props) => (
<Create {...props}>
<SimpleForm>
<TextInput source="title" defaultValue={translate('resources.posts.defaultTitle')} />
</SimpleForm>
</Create> );
我收到以下错误:
TypeError: Cannot call a class as a function
也许这是一个缺失的功能?例如,标签属性会自动翻译。
resources
变量从何而来?我没有在您的示例中看到它被导入。
或者,translate
的参数必须是一个字符串。
您是否尝试过类似的东西:
translate('resources.posts.defaultTitle')
你的做法似乎没有错。也就是说,我不知道 React Admin 的默认翻译 API 公开了 resources.posts.defaultTitle
。
不要忘记声明您的自定义翻译:
import React from 'react';
import { Admin, Resource } from 'react-admin';
import englishMessages from 'ra-language-english';
import frenchMessages from 'ra-language-french';
const customMessages = {
fr: {}, // custom french
en: {}, // custom english
};
const messages = {
fr: frenchMessages,
en: englishMessages,
};
const i18nProvider = locale => { ...messages[locale], ...customMessages[locale] };
const App = () => (
<Admin locale={resolveBrowserLocale()} i18nProvider={i18nProvider}>
...
</Admin>
);
react-admin导出的translate
函数是一个HOC
import { translate } from 'react-admin';
const PostCreateView = ({ translate, ...props }) => (
<Create {...props}>
<SimpleForm>
<TextInput source="title" defaultValue={translate('resources.posts.defaultTitle')} />
</SimpleForm>
</Create> );
const PostCreate = translate(PostCreateView);
我想按照 here. Also I want to have the default values translated as described here 所述为创建视图定义默认值。我导入了高阶组件并尝试将翻译用作函数。
import { translate } from 'react-admin';
export const PostCreate = (props) => (
<Create {...props}>
<SimpleForm>
<TextInput source="title" defaultValue={translate('resources.posts.defaultTitle')} />
</SimpleForm>
</Create> );
我收到以下错误:
TypeError: Cannot call a class as a function
也许这是一个缺失的功能?例如,标签属性会自动翻译。
resources
变量从何而来?我没有在您的示例中看到它被导入。
或者,translate
的参数必须是一个字符串。
您是否尝试过类似的东西:
translate('resources.posts.defaultTitle')
你的做法似乎没有错。也就是说,我不知道 React Admin 的默认翻译 API 公开了 resources.posts.defaultTitle
。
不要忘记声明您的自定义翻译:
import React from 'react';
import { Admin, Resource } from 'react-admin';
import englishMessages from 'ra-language-english';
import frenchMessages from 'ra-language-french';
const customMessages = {
fr: {}, // custom french
en: {}, // custom english
};
const messages = {
fr: frenchMessages,
en: englishMessages,
};
const i18nProvider = locale => { ...messages[locale], ...customMessages[locale] };
const App = () => (
<Admin locale={resolveBrowserLocale()} i18nProvider={i18nProvider}>
...
</Admin>
);
react-admin导出的translate
函数是一个HOC
import { translate } from 'react-admin';
const PostCreateView = ({ translate, ...props }) => (
<Create {...props}>
<SimpleForm>
<TextInput source="title" defaultValue={translate('resources.posts.defaultTitle')} />
</SimpleForm>
</Create> );
const PostCreate = translate(PostCreateView);