如何检测 UmiJS React Web 应用程序中的 URL 变化?

How to detect URL changes in UmiJS React Web application?

我的应用程序中有 BasicLayout.jsx 传递主要组件的道具并在布局内渲染子组件。我想根据 BasicLayout.jsxuseEffect() 内的 URL 变化执行一些逻辑。是否有任何有效的方法来检测任何 URL 使用 useLocation 挂钩的更改?

在这种情况下,我想重新呈现 BasicLayout.tsx,我使用 useHistoy() 挂钩而不是 useLocation() 并将当前 URL 路径名作为依赖项传递给useEffect().

这是代码片段:

  import { useHistory } from 'react-router-dom';

  let url = useHistory();

  useEffect(() => {
     ...
     // perform some logic
     ...
  }, [currentUser, declaration, url.location.pathname]);