我尝试了多种设置状态的方法,但是由于某种原因,状态从未更新。这是我希望状态更改为JSON数据
export class Provider extends Component {
state = {
posts: [],
profileinfo: {},
dispatch: action => this.setState(state => reducer(state, action))
};
componentDidMount() {
fetch("http://localhost:3001/login").then(response =>
response
.json()
.then(data => this.setState({ profileinfo: data.firstname }))
);
console.log(this.state.profileinfo);
}
render() {
// ...
}
}
答案 0 :(得分:0)
setState
是异步的。您的控制台日志可能在状态更新之前触发。如果您想在setState
调用之后查看结果,请按照以下方式进行操作:
data => this.setState({ profileinfo: data.firstname }, () => {
console.log(this.state);
});