fetcher.submit
,然后又调用API调用函数。这是行不通的:相反,我一直回到根错误边界(因为它是唯一的一个)。我得到它的方式,RR捕获了抛出的错误并停止正常传播,而是通过错误边界系统管理。
因此,我认为我可以在路由组件周围编写一个错误边界,即使我仍然必须弄清楚如何使其正常工作(例如,我如何“关闭错误”并返回页面?)。但是,文献
建议反对这样做,因为这不是没有渲染页面所需的情况(请参阅该页面中的第3节,允许例外):
不建议有意施加错误,以迫使误差边界作为控制流量。错误边界主要用于捕获代码中的无意错误。
prife是#2中规则的例外,尤其是404s。当您的加载程序找不到渲染页面所需的内容时,您可以将数据()(带有适当的状态代码)的故意抛向最接近的错误边界。投掷404并继续前进。端,
在React RouteV7?中处理400个错误的适当的惯用方法是什么?
在我找到答案的文档中更深入地挖掘。
读取后,我使用
clientAction
检索我从API调用函数中从服务器收到的错误消息。时显示对话框。然后,我使用反应效应来设置状态,当,但是,要显示一个对话框,您可以关闭进一步的步骤。我使用React状态存储错误,并且仅在错误不是
fetcher.data
null
发生变化时,这有效地显示了对话框。当用户采取行动关闭对话框时,关闭处理程序将状态设置为fetcher.data