TL;博士,我正在制作一个MERN应用程序,想要访问护照用户的反应。多么?
我试着做一个简单的要做的应用程序与MERN栈,不能让用户下载。我在前端使用了一个用于快速api的代理。我想从React中获取req.user对象,这样我就可以根据用户是否登录来更新导航条。当我发布到/api/login时,我可以从api路由记录用户对象。
回应登入表格:
class Login extends Component {
//..
async login(event) {
event.preventDefault();
await api.login({
username: this.state.username,
password: this.state.password
});
this.setState({
username: '',
password: ''
});
}
//..
}Axios:
export async function login({username, password}) {
axios.post('/api/login', {username, password});
}服务器:
router.post('/login', passport.authenticate('local'), helpers.login);
exports.login = (req, res) => {
res.json({ message: 'You have been logged in!' });
};通过这个exports.login函数,我可以console.log(req.user),但是当我试图从任何其他路由访问用户时,它是未定义的。
我想做的是:
反应:
class App extends Component {
//..
componentDidMount() {
this.isLoggedIn();
}
componentDidUpdate() {
this.isLoggedIn();
}
async isLoggedIn() {
const user = await api.isLoggedIn();
}
//..
}它将发出返回用户对象的请求。
我有点理解代理是如何阻止的,会话是如何工作的,但是还没有点击。希望有人能帮我。
编辑所以..。问题就这样消失了。如果有什么东西又坏了我会更新的。
https://stackoverflow.com/questions/48369725
复制相似问题