React-admin 通过其
translate
函数传递服务器错误消息,该函数依赖于 i18nProvider
(请参阅 React-admin 文档中的翻译章节)。
因此,如果您的服务器返回的错误消息是有效的翻译消息(例如“server.create_error.conflict”)并且您使用 Polyglot 作为 i18nProvider,则只需在消息中包含以下翻译:
{
server: {
create_error: {
conflict: 'Impossible to create element: email already exists'
}
}
}
有关更多详细信息,请参阅混合接口和域翻译。
这就是我所做的,它对我有用。
从服务器,API 抛出错误 -
err.login.duplicate
在react-admin中,err.js文件有以下内容:
export const err = { 登录:{ 重复:“电子邮件已在使用中” } }
请注意,我必须编写自己的 fetchJson 才能读取错误对象并将其扔给用户。阅读更多这里
这样,react-admin 会抛出“电子邮件已在使用中”错误。