【发布时间】:2020-05-09 05:42:09
【问题描述】:
我这里有这个调用 api 的反应代码。
第一个 console.log 调用返回数据,但第二个 console.log 未定义。
我哪里出错了?感谢您指出我的错误并非常感谢
export default class ProfileDetail extends Component {
state = {
prodetail:'',
}
async componentDidMount(){
const id = this.props.match.params.id
const searchurl = `https://www.demo.com/api/personinfo/persondetail?id=${id}`;
const res = await axios.get(searchurl);
this.setState({prodetail:res.data});
}
render() {
const{ prodetail
} = this.state
console.log(prodetail)
console.log(prodetail.firstname)
【问题讨论】:
-
firstname实际上是在 http 请求的响应中定义的吗?无论哪种方式,响应如何? -
如果第一个控制台返回数据..您应该能够看到那里有什么以及为什么第二个没有显示数据。可能是 proddetail 中没有名字!。
-
这是直接 api 调用的结果:[{"ID":"e424a407-6619-4549-9036-670e0d517655","FirstName":"John","LastName":"Doe" }]
-
第一个 console.log 显示这个 [{"ID":"e424a407-6619-4549-9036-670e0d517655","FirstName":"John","LastName":"Doe"}]
-
第二个 console.log 未定义。我在想我错过了哪里。谢谢