将react路由器与express一起使用会妨碍注销吗?

将react路由器与express一起使用会妨碍注销吗?,express,routing,routes,react-router,Express,Routing,Routes,React Router,我的设置: 我使用react路由器处理组件更改,并使用express从数据库运行get请求 React在端口3000上 快车在5000港 react设置为在客户端文件夹中的setupProxy.js文件中代理端口5000,在其包中Json是代理指令 setupProxy.js const proxy = require("http-proxy-middleware"); module.exports = function(app) { app.use(proxy('/auth', {

我的设置:

我使用react路由器处理组件更改,并使用express从数据库运行get请求

React在端口3000上

快车在5000港

react设置为在客户端文件夹中的setupProxy.js文件中代理端口5000,在其包中Json是代理指令

setupProxy.js

const proxy = require("http-proxy-middleware");

module.exports = function(app) {
    app.use(proxy('/auth', { target: 'http://localhost:5000/' }));
};
react package.json(部分)

对于注销,我使用非常简单的href=“/logout”在passport js中执行此操作的默认代码。对于登录,I do href=“/auth/google”同样非常简单,而且很有效。注销不会注销并重定向到主页,而是转到/注销并停留在那里,让我登录并卡住


我猜这是因为它干扰了react路由器,因为这种情况一直在发生,我试图修改我的后端代码来修复它。当然,我还不太清楚为什么会这样。我将非常感谢您对此事的任何意见。

因此解决方案似乎是我应该运行一个获取请求,而不是直接链接。我将href更改为onclick handleLogout函数,如下所示:

const handleLogout = () => {
  axios.get("http://localhost:3000/logout").catch(err => {
    console.log(err);
  });
};
希望这能帮助后代

app.get("/logout", function(req, res) {
  req.logout();
  res.redirect("/");
});
const handleLogout = () => {
  axios.get("http://localhost:3000/logout").catch(err => {
    console.log(err);
  });
};