我无法从https://randomuser.me/api/获取api数据
但是当我使用http://dummy.restapiexample.com/api/v1/employees之类的其他api时,它可以工作。
错误:
import React from "react";
import "./App.css";
import Start from "./start";
function App() {
return (
<div className="App">
<Start />
</div>
);
}
export default App;
start.js
import React, { Component } from "react";
import Axios from "axios";
class Start extends Component {
constructor(props) {
super(props);
this.state = {
results: []
};
}
componentDidMount() {
Axios.get("https://randomuser.me/api/").then(res => {
const results = res.data;
this.setState({ results });
console.log(results);
});
}
render() {
return (
<div>
{this.state.results.map(result => {
return <div>{result.id}</div>;
})}
</div>
);
}
}
export default Start;
答案 0 :(得分:2)
问题是http://dummy.restapiexample.com/api/v1/employees返回数组,而https://randomuser.me/api/返回对象。尝试更改为
componentDidMount() {
Axios.get("https://randomuser.me/api/").then(res => {
const results = res.data.results;
this.setState({ results });
console.log(results);
});
}
答案 1 :(得分:0)
您必须使用res.data.results。它进入结果对象。
答案 2 :(得分:0)
请检查您的JSON数据 您错过了http://dummy.restapiexample.com/api/v1/employees
中的“}]”拼写错误的最后一行componentDidMount() {
Axios.get("http://dummy.restapiexample.com/api/v1/employees").then(res => {
const results = res.data;
this.setState({ results: results });
});
}