如何从 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
})
})
}
你好我正在尝试从 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
})
})
}