yezihaohao / react-admin

:sparkles: react-admin system solution : react 后台管理系统解决方案
https://admiring-dijkstra-34cb29.netlify.com/
MIT License
6.64k stars 1.87k forks source link

用户登录成功了,已经将user数据存入缓存,头部组件里面又获取user数据,判断并调取接口,感觉if判断是多余的? #78

Closed wdlhao closed 5 years ago

wdlhao commented 5 years ago

login.jsx组件中,登录成功后,已经将数据存入到缓存; componentDidUpdate() { // React 16.3+弃用componentWillReceiveProps const { auth: nextAuth = {}, history } = this.props; if (nextAuth.data && nextAuth.data.uid) { // 判断是否登陆成功 localStorage.setItem('user', JSON.stringify(nextAuth.data)); //将登录之后的用户信息保存到localStorage history.push('/');//登录成功后,路由定位到首页 } } HeaderCustom.jsx组件中,_user永远为true componentDidMount() { const QueryString = queryString(); const _user = JSON.parse(localStorage.getItem('user')) || '测试'; if (!_user && QueryString.hasOwnProperty('code')) { // 多余的判断 gitOauthToken(QueryString.code).then(res => { gitOauthInfo(res.access_token).then(info => { this.setState({ user: info }); localStorage.setItem('user', JSON.stringify(info)); }); }); } else { // 得到user信息后,进行重新赋值 this.setState({ user: _user }); } };

yezihaohao commented 5 years ago

GitHub第三方登录使用,如果有不需要的功能可以去掉