首页 > 解决方案 > 调用 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);

标签: reactjsapireact-redux

解决方案


尝试{coin.description && coin.description.en}代替刚刚{coin.description.en}


推荐阅读