所以,我在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开发的新手):
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>
);
}发布于 2020-12-19 13:39:39
由于您的一些记录没有得分对象,在访问下面的值之前,请进行空检查。
{data[index].score ? (data[index].score.ft[0] - data[index].score.ft[1]): ''}https://stackoverflow.com/questions/65370272
复制相似问题