【发布时间】:2021-07-05 01:44:41
【问题描述】:
我正在尝试根据用户登录状态启动页面。为此,我尝试通过一个函数设置初始状态,但在 api 调用完成后它没有更新视图。 目前我在执行代码时看到了第 3 部分。
import React, { Component } from 'react';
import axios from 'axios';
import { API_BASE_URL } from './constants/apiConstants';
export default class App extends Component {
constructor(props) {
super(props)
this.state = {
loginStatus: this.loginUpdate(),
}
}
loginUpdate(){
let token = localStorage.getItem("TOKEN");
let tmpStatus = token!==""?true:false;
if(tmpStatus){
const payload = {
"token": token
}
axios.post(API_BASE_URL + 'loginCheck', payload)
.then((response) => {
tmpStatus=response.data.response;
return tmpStatus;
});
}else{
return tmpStatus;
}
return null;
}
render() {
return (
<>
{this.state.loginStatus===true &&
<p>Part 1</p>
}
{this.state.loginStatus===false &&
<p>Part 2</p>
}
{this.state.loginStatus===null &&
<p>Part 3</p>
}
</>
)
}
}
【问题讨论】:
标签: reactjs function constructor state render