在 React 中,我可以使用 history.goBack() 检查用户的去向吗

In React, can I check where the user will go with history.goBack()

我正在使用 react-query,我想在用户保存触发查询失效的表单时将用户发送回上一页——除非返回会将用户发送到当前页面(用户的历史记录从该页面开始),因为这会导致无限循环。

这是我的代码:

  const history = useHistory();
  const mutatePost = useMutation(
    (jsonData : InterfaceJsonData) => fetchPostWithUserAuth(
      postUrl(id), fetchOptionsPost(jsonData, id),
    ), {
      onSuccess: () => {
        history.goBack();

如何查看 history.goBack() 的去向?在极少数情况下,用户从当前页面开始,我不想不小心造成无限循环。

我正在使用 history.goBack() 因为该组件在三个地方使用,我想重定向到相关页面(三个页面之一)。如果有什么方法可以搜索历史记录来检查前三个页面中的哪一个被访问过,那就完美了。

您可以在用户到达您的站点时构建一个历史记录堆栈,将用户导航到的每个页面都推送到一个数组中。然后,如果用户按下后退按钮,您就会知道发生了什么。如果数组为空,您知道,这是第一页。 或者另一个解决方案可能是 this.