我们的主干应用程序有问题。我们希望在获取失败(超时或一般错误)时向用户提供通知,但我们希望在前一页的内容上显示一个对话框,而不是在新页面中显示错误消息(Facebook/LinkedIn 等如何做它)
要触发对新内容的请求,我们必须先导航到新 URL。如果不进行返工,我们就无法真正改变这一点,因此我们希望尽可能避免这种情况。我们需要做的是在连接错误时将用户返回到之前的 URL,这会导致路由触发,重新请求之前的内容。然而,我们真的想避免这样做。
我们知道我们可以在不触发路由的情况下使用导航将用户返回,但这会弄乱浏览器历史记录,在这种情况下使后退变为前进。我们也可以强制浏览器返回,正确保持历史记录,但这会强制重新获取内容。
我们还研究了设置某种标志,告诉我们的路由器不要在下一次路由更改时重新请求数据,但是当使用浏览器返回到上一个获取失败的屏幕时,这会导致问题。在这种情况下,我们需要在他们的旅程中向用户发送“转发”。据我们所知,使用浏览器的历史管理器是不可能的。
有什么方法可以按照我们想要的方式进行对话,还是我们必须像 Facebook/LinkedIn 和 co. 一样采用相同的方式?