TypeError: Cannot read property 'ft' of undefined API

TypeError: Cannot read property 'ft' of undefined API

所以我在 VS Code 中为大学 class 做一些 html javascript 业务。我们使用 React 和其他一些东西。我的问题是 API:https://raw.githubusercontent.com/openfootball/football.json/master/2020-21/en.1.json 所以我正在尝试从中加载数据。

我的问题是我正在尝试访问已定义分数的匹配项的分数,它在索引 + 3 处有效,但 {data[index].score.ft[0]} - {data[index].score.ft[1]} 部分不起作用,因为该特定匹配项未定义分数.我想以某种方式解决这个问题,即我的代码不会尝试从那些未定义的信息中加载信息,而是编写类似“无信息”之类的内容。

完整代码(我知道它很丑,我是网络开发的菜鸟):

import React, { useEffect, useState } from "react";
import axios from 'axios';

export default function Eredmeny() {

const [data, setData] = useState([]);
const [index, setIndex] = useState(0);



useEffect(() => {
    const load = async () => {
        const {data: { matches } } = await axios( 
            "https://raw.githubusercontent.com/openfootball/football.json/master/2020-21/en.1.json" );
        setData(matches);
        //console.log(data);
    }
    load()
}, [])

const prev = () => {
    if( index >= 10){
    setIndex(index - 10);
    }
}

const next = () => {
    if( index <= data.length-11){
    setIndex(index + 10);
    }
}

if (data.length <= 0) {
    return "Loading..."
}

return(
    <div>
        <h1>
            <button onClick = {prev}>Previous</button>
            {data[index].round}
            <button onClick = {next} >Next</button>
        </h1>

        <h3>
            <p>{data[index].team1} - {data[index].team2}</p>
            {data[index].score.ft[0]} - {data[index].score.ft[1]}
            <p> {data[index+1].team1} - {data[index+1].team2}</p>
            <p> {data[index+2].team1} - {data[index+2].team2}</p>
            <p> {data[index+3].team1} - {data[index+3].team2}</p>
            {data[index+3].score.ft[0]} - {data[index+3].score.ft[1]}
            <p> {data[index+4].team1} - {data[index+4].team2}</p>
            <p> {data[index+5].team1} - {data[index+5].team2}</p>
            <p> {data[index+6].team1} - {data[index+6].team2}</p>
            <p> {data[index+7].team1} - {data[index+7].team2}</p>
            <p> {data[index+8].team1} - {data[index+8].team2}</p>
            <p> {data[index+9].team1} - {data[index+9].team2}</p>

        </h3>

        


    </div>
    
);

}

由于您的某些记录没有分数对象,请在访问以下值之前进行空检查。

{data[index].score ? (data[index].score.ft[0] - data[index].score.ft[1]): ''}