我想为创建视图定义默认值,如here所述。另外,我想按here的说明转换默认值。我导入了高阶组件,并尝试将translate作为函数使用。
import { translate } from 'react-admin';
export const PostCreate = (props) => (
<Create {...props}>
<SimpleForm>
<TextInput source="title" defaultValue={translate('resources.posts.defaultTitle')} />
</SimpleForm>
</Create> );
我收到以下错误:
TypeError:无法将类作为函数调用
也许这是缺少的功能?例如,label属性将自动翻译。
答案 0 :(得分:0)
resources
变量从何而来?在您的示例中,我看不到它导入。
或者,translate
的参数必须是字符串。
您是否尝试过类似的操作:
translate('resources.posts.defaultTitle')
您的方法似乎并不正确。就是说,我不知道resources.posts.defaultTitle
是由React Admin的默认翻译API公开的。
别忘了声明您的自定义翻译:
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>
);