首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeError:无法读取未定义API的属性“ft”

TypeError:无法读取未定义API的属性“ft”
EN

Stack Overflow用户
提问于 2020-12-19 13:20:46
回答 1查看 80关注 0票数 0

所以,我在VS代码中为uni中的一个类做了一些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]}部分不能工作,因为特定的匹配没有定义分数。我想解决这个问题,因为我的代码并不试图从那些未定义的代码中加载信息,而是编写类似于“无信息”之类的东西。

完整代码(我知道它很难看,我是web开发的新手):

代码语言:javascript
运行
复制
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>
    
);

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-19 13:39:39

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

代码语言:javascript
运行
复制
{data[index].score ? (data[index].score.ft[0] - data[index].score.ft[1]): ''}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65370272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档