我有一个具有Articles的JSON节点,并且Articles是由用户编写的,我想知道如何从该User中获取数据,因为我需要显示个人资料图片和您的姓名:
这是我的API调用方法:
getItems() {
this.setState({ 'isLoading': true });
fetch('http://127.0.0.1:8000/api/article/')
.then(results => {
if (results.ok) {
return results.json();
} else {
throw new Error('Something went wrong ...');
}
})
.then(results => this.setState({ 'items': results, 'isLoading': false }))
.catch(error => this.setState({ error, isLoading: false }));
}
这是我的JSON:
Article:
[
{
"id": 1,
"title": "Obama Offers Hopeful Vision While Nothing Nation's Fears",
"description": "Obama Offers Hopeful Vision While Nothing Nation's Fears",
"category": 1,
"user": 1,
"image": "http://127.0.0.1:8000/media/article_image/news_01_JvEyD6u.jpg"
}
]
User:
[
{
"id": 1,
"name": "Jefferson",
"image": "http://127.0.0.1:8000/media/profile_image/Perfil2_1WziFGt.jpg"
}
]
这就是我所拥有的:
<div>
<Thumbnail src={item.image} />
<h3>{item.title}</h3>
<div>{item.user}</div>
</div>
我尝试使用“ item.user.image”,但是它为空。
答案 0 :(得分:1)
如果我正确理解了您的问题,则您正在尝试将用户与文章相关联。无需获取用户数据,您可以通过调用User
Array
User.find()
中找到用户来实现
示例
const foundUser = User.find(user => user.id === item.user);
<p>{foundUser.image}</p>
假设item
是商品拥有者具有ID的user
属性。
另一种方法
如果您是api的控制者,则最好使用Articles
将userdata作为嵌套属性返回。当然,这取决于项目,规模,数据量,个人意见和其他内容。