我目前正在使用React,Node.js
,passport-google-oauth20开发一个简单的网络应用。
由于某种原因,每当应用程序重新安装时,我都会失去当前的用户状态。这就好像req.user只是丢失了。
它的工作方式是我首先在应用程序安装时获取当前用户并将this.state.currentUser设置为结果。问题是页面刷新时。组件重新安装,我失去了用户。我尝试记录用户并收到null。
希望我解释得这么好......这是代码:
应用组件:
import React from 'react';
import List from './List';
import ListForm from './ListForm';
import * as helpers from '../helpers';
class App extends React.Component{
state = {
currentUser: '',
}
componentDidMount() {
helpers.fetchUser()
.then(data => {
this.setState({
currentUser: data
});
});
}
onSubmit = (id, item) => {
helpers.addItem(id, item);
}
render() {
return (
<div className="container">
<List
currentUser={this.state.currentUser}
onSubmit={this.onSubmit}
/>
</div>
);
}
};
export default App;
助手:
import axios from 'axios';
export const fetchUser = async () => {
const resp = await axios.get('/api/current_user');
return resp.data;
}
export const addItem = (id, newItem) => {
axios.post("/api/" + id + "/addItem", newItem);
}