reactjs - 调用 api 未读取对象
问题描述
当我用 console.log 调用详细信息时,没有显示错误检查:console.log(coin.description.en); 但是当我在渲染中编写此代码{coin.description.en}时不起作用并显示此错误: TypeError: can't access property "en", coin.description is undefined
import React, {useEffect, useState} from "react";
import {connect} from 'react-redux';
import axios from 'axios';
function CoinDetail({...props}) {
const [coin,setCoin] = useState([]);
useEffect(() => {
getCoinDetail(API_URL+'ripple');
},[]);
const getCoinDetail = (id) => {
axios.get(id).then(res => {
setCoin(res.data);
console.log(res.data);
});
}
return (
<>
Id: {coin.id}<br/>
Name: {coin.name}<br/>
Symbol: {coin.symbol}<br/>
Description: {coin.description.en}<br/>
</>
);
}
function mapStateToProps(state,ownProps) {
const coinId = ownProps.match.params.coinId;
return {
coinId
}
}
export default connect(mapStateToProps)(CoinDetail);
解决方案
尝试{coin.description && coin.description.en}
代替刚刚{coin.description.en}
推荐阅读
- windows - 为什么 Linux git 在 Windows WSL 中运行并在 NTFS 文件系统上运行时不创建正确的 Windows 符号链接?
- ios - SwiftUI 中无法使用对象属性创建颜色
- kotlin - 如何使用 ArchUnit 在 Kotlin 的构造函数中强制执行私有参数?
- batch-file - 用增加的数字替换文件名以稍后恢复的批处理脚本
- mysql - 比较两个表列
- python - 如何访问另一个类的实例中保存的类实例中的属性?
- google-apps-script - 使 onEdit() 更快更高效
- python-3.x - 多变量回归模型成本不降低
- python - 确保总有一个平台供玩家跳跃
- grammar - 如何在 Raku 中使用匹配分隔符