如何从 API Strapi 映射 JSON 数据

How to Mapping JSON data from API Strapi

你好我正在尝试从 api strapi 获取数据并将其显示在 reactjs 前端,我正在使用 axios 库,

这个 'url' 我想获取的数据,但总是得到未定义的响应或“未捕获(承诺)TypeError:无法读取未定义的属性(读取 'url')”,参见图片

image json

这是我用来获取数据的代码:

componentDidMount() {

    const url = "http://localhost:1337/videos"

    axios.get(url)
        .then(data_video => {
            console.log(data_video.data.video.url);
            this.setState({
                // data: data_video.data
            })
        })
}

问题是您的状态是在 api 调用完成之前设置的。

你需要一个异步组件DidMount

async componentDidMount() {

    const url = "http://localhost:1337/videos"

    await axios.get(url)
        .then(data_video => {
            console.log(data_video.data.video[0].url);
            this.setState({
                data: data_video.data.video[0].url
            })
        })
}