redux 未捕获的类型错误:无法读取未定义的属性(阅读'stats')

crcmnpdw  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(116)

我正在使用一个API来获取数据,它工作得很好,顺便说一句,我正在使用redux。当我刷新我的项目时,我得到这个错误。我还加载了et,所以当数据没有被获取时,等待它。我不知道该怎么做。
这是我在其中使用数据的组件

import React, { useEffect } from 'react';
import { useSelector, useDispatch} from 'react-redux';
import { Link } from 'react-router-dom';
import millify from 'millify';

//Redux
import { fetchCoins } from "../../redux/coins/coinsAction";

const Homepage = () => {

   const dispatch = useDispatch();
   const {coins, loading } = useSelector(state => state.coinsState);

   useEffect(() => {
      dispatch(fetchCoins());
   }, [])
   console.log(coins);

   return (
    <>
        {
            loading ? <h1>Loading...</h1> :
            <div>
                <h2>Global Crypto Stats</h2>
                <div>
                    <h5>Total Cryptcurrencies</h5>
                    <span>{millify(coins.data.stats.total)}</span>
                    <h5>Total Exchanges</h5>
                    <span>{millify(coins.data.stats.totalExchanges)}</span>
                    <h5>Total Market cap</h5>
                    <span>{millify(coins.data.stats.totalMarketCap)}</span>
                    <h5>Total 24h Volume</h5>
                    <span>{millify(coins.data.stats.total24hVolume)}</span>
                    <h5>Total Markets</h5>
                    <span>{millify(coins.data.stats.totalMarkets)}</span>
                </div>
            </div>
        }

    </>
   );
};

export default Homepage;
goucqfw6

goucqfw61#

当遇到这个问题时,主要的解决办法是在每个点之前加上“?”,它应该看起来像这样:

coins?.data?.stats?.total

试试这个:)

相关问题