2 回答
TA贡献1821条经验 获得超4个赞
您的状态没有postItems被考虑undefined和反应的属性,因此不会呈现。在您的情况下,无需定义 newconst并直接使用状态。
此外,当您setState(),您需要告诉它应该将值设置为哪个状态属性。
componentWillMount() {
fetch('http://localhost:3000/product/4317892')
.then(res => res.json())
.then(res => {
this.setState({
...this.state, // Not required but just a heads up on using mutation
posts: res
})
})
.catch((error => {
console.error(error);
}));
}
render() {
console.log(this.state)
return (
<div>
<p><strong>Id: {this.state.posts.IDPRODUCT}</strong></p>
<p>Description: {this.state.posts.DESCRIPTION}</p>
</div>
);
}
TA贡献1793条经验 获得超6个赞
我在你的 js 中有 3 个相同的名称:posts、postItems 和 res。React 无法为您确定posts = postItems = res。所以做这样的改变:
——
this.state = {
postItems: {}
};
——
this.setState({
postItems: res
});
——
return (
<div>
{JSON.stringify(postItems)}
<div>
<span>{postItems.IDPRODUCT}</span>
<span>{postItems.DESCRIPTION}</span>
</div>
</div>
);
添加回答
举报