如何获取子数据

时间:2018-10-23 00:48:53

标签: javascript json reactjs fetch

我有一个具有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”,但是它为空。

I need that result

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,则您正在尝试将用户与文章相关联。无需获取用户数据,您可以通过调用User

在dr Array User.find()中找到用户来实现

示例

const foundUser = User.find(user => user.id === item.user);

<p>{foundUser.image}</p>

假设item是商品拥有者具有ID的user属性。

另一种方法

如果您是api的控制者,则最好使用Articles将userdata作为嵌套属性返回。当然,这取决于项目,规模,数据量,个人意见和其他内容。