在路由改变时,手动关闭antd的notifications,可以使用React hooks中的useEffect钩子函数来实现。具体代码如下:
import { useEffect } from 'react'; import { notification } from 'antd'; import { useLocation } from 'react-router-dom';
function App() { const location = useLocation();
useEffect(() => { notification.destroy(); // 关闭所有的antd notifications }, [location]);
// ... 其他代码 }
这段代码中,我们使用了useLocation钩子函数来获取当前的路由信息。然后在useEffect中,当路由信息发生变化时,我们通过notification.destroy()方法来关闭所有的antd notifications。这样就能保证在路由切换时,已经打开的notifications能够被及时关闭,避免冲突和覆盖。