在react-admin应用中,每当执行CRUD操作时发生错误,就会显示一般错误。为了进行React-admin的CRUD操作,它使用redux action creators,例如在create action creator中,它可以启动 CREATE 操作,在meta对象中,我们可以看到其他操作之后执行(我不太了解它是如何工作的,只知道它们将在初始操作分派之后和/或完成成功或失败之后执行)。 onSuccess
和onFailure
是要执行的回调的对象定义,notification
在底部显示一条消息。在此示例中,成功消息是硬编码的,这不是问题,因为通常在创建记录时会显示相同的消息,但是错误消息为hardcoded too,与服务器发送消息的错误无关,它将是一个在翻译字符串上。
我想要的错误消息是服务器在错误响应中发送的错误消息,将硬编码更改为更常见的错误,或者有可能捕获错误并说出要在通知中显示的翻译消息。
>我见过this question,但是该解决方案似乎重写了<SimpleForm>
以直接调用dataProvider并显示错误。即使此方法可行,我还是希望不更改从使用SimpleForm到CustomSimpleForm的所有地方,以免失去对该组件的可能增强。
This example可行,但是我正在做的事情是为发生故障时增加另一种副作用,我可以在此处停止默认的故障通知吗?
简而言之,我希望能够将默认的CRUD错误通知消息更改为服务器发送的消息,同时保持动作创建者的使用。如果可能的话,我希望能够捕获失败操作,以发送带有自定义消息的通知。
有没有比听所有错误消息,停止正常通知并启动自定义消息的传奇更简单的解决方案了?
答案 0 :(得分:0)
React-Admin显示服务器错误对象more info here的属性消息中发送的消息。它使用此字符串作为翻译本地化字符串。因此,您可以从服务器返回一条消息,对其进行翻译,然后将其作为通知显示。如果您有更好的解决方案,This issue对于理解甚至做出贡献可能很重要