将react路由器与express一起使用会妨碍注销吗?
我的设置: 我使用react路由器处理组件更改,并使用express从数据库运行get请求 React在端口3000上 快车在5000港 react设置为在客户端文件夹中的setupProxy.js文件中代理端口5000,在其包中Json是代理指令 setupProxy.js将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', {
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);
});
};