【发布时间】:2019-10-14 22:53:45
【问题描述】:
我试图在不同的组件中显示当前用户名,但它不起作用,我做错了什么?
这里是我初始化用户名(App.js)的地方
class App extends Component{
constructor(props) {
super(props);
this.state = {
logged_in: localStorage.getItem('token') ? true : false,
username: ''
};
}
componentDidMount() {
if (this.state.logged_in) {
fetch('http://localhost:8000/user/current_user/', {
headers: {
Authorization: `JWT ${localStorage.getItem('token')}`
}
})
.then(res => res.json())
.then(json => {
this.setState({ username: json.username });
console.log(json.username);
});
}
}
render() {
return (
<div className="App">
<Router history={history}>
<Switch>
<Route exact path="/" component={First} />
<Route path="/home" component={Projects} />
<Route path="/menu" component={MenuH} />
<Route path ="/createProject" component={CreateP} />
<Route path ="/connect" component={Newacount} />
<Route component={Notfound} />
</Switch>
</Router>
</div>
);
}
}
...
这就是我在不同的组件(项目)中如何称呼它
{this.state.username}
【问题讨论】: