我正在尝试使用mongodb和mongoose从数据库中获取数据。
我有一个请求功能:
<div class="wrapperhome">
<div class="wrappercontact">
我尝试通过console.log显示,没关系:
但是当我通过属性名称访问属性时,console.log显示:null
为什么?
这是我的后端代码:
componentDidMount(){
fetch('http://localhost:5000/tweet')
.then(function(response) {
return response.json();
})
.then(result=>{
this.setState({
tweetData:JSON.stringify(result)
});
console.log(this.state.tweetData);
});
}
答案 0 :(得分:1)
您必须result.data
。
.then(result=>{
this.setState({
tweetData:result.data
},()=>{
console.log(this.state.tweetData);
);
});
setState
是异步的,您可以使用回调函数检查状态更新
答案 1 :(得分:1)
您正在解析JSON,然后再次对其进行字符串化。删除JSON.stringify
,它应该可以正常工作。
setState
也是异步的,因此您不能在其下面的语句中访问新状态。您可以使用setState
的第二个参数,它是设置状态后将调用的回调。
componentDidMount() {
fetch('http://localhost:5000/tweet')
.then(response => response.json())
.then(result => {
this.setState({
tweetData: result
}, () => console.log(this.state.tweetData));
})
}