首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法读取空属性(读取“标签”)

无法读取空属性(读取“标签”)
EN

Stack Overflow用户
提问于 2022-07-22 11:45:23
回答 2查看 150关注 0票数 1

我正在尝试使用chartjs构建一个LineChart,但我在读取图表数据时遇到了一些问题,问题似乎是我的标签为null,但我从日期中将它们作为数组(选中,数组从服务器上传输很好)。我不知道问题是什么,知道是什么造成了问题吗?

这张图表现在是这样的:

我发现了这几个错误:

这是我的代码:

代码语言:javascript
复制
import { Link } from "react-router-dom";
import { Line } from "react-chartjs-2";
import {Chart as chartjs, Title, Tooltip, LineElement, Legend, CategoryScale, LinearScale, PointElement} from "chart.js";

chartjs.register(
  Title, Tooltip, LineElement, Legend, CategoryScale, LinearScale, PointElement
)

function BitCoin() {
  const [data, setData] = React.useState(null);
  const [dates, setDates] = React.useState(null);
  const [coinValue, setCoinValue] = React.useState(null);


  React.useEffect(() => {
    fetch("http://localhost:3001/bitcoin")
      .then((res) => res.json()) 
      .then((data) => {

        const twoDimensionArr = data.message;
        setData(twoDimensionArr);               
        setDates(twoDimensionArr.map(item => item[0]));    
        setCoinValue(Number(twoDimensionArr.map(item => item[1])));
   })
   .then(console.log(data))
  }, []);

  const [chartData, setChartData] = useState({
    lables: dates,
    datasets:[
      {
        lable: "value of BTC in ILS",
        data: coinValue,
        backgroundColor:'gold'
      }
    ]
  })

  return (
    <div style={{textAlign:"center", fontFamily:"Comic Sans MC", fontSize:"100"}}>
      THIS IS THE BitCoin PAGE

      <nav>
        <Link to="/"> Home </Link>
      </nav>

      <nav>
        <Link to="/coins"> Coins </Link>
      </nav>
      
      <Line
      data = {chartData}
      />
    </div>
  )
}

export default BitCoin;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-22 11:57:31

您没有标签数组,在数据对象中有一个datasets键和一个lables键,最后一个是错误的,应该是labels。如果您将其更改为它将起作用:

代码语言:javascript
复制
const [chartData, setChartData] = useState({
  labels: dates,
  datasets: [{
    label: "value of BTC in ILS",
    data: coinValue,
    backgroundColor: 'gold'
  }]
})

对于dataset中的lable键,它应该是label

票数 1
EN

Stack Overflow用户

发布于 2022-07-22 12:08:55

您正在编写labellabels的拼写错误,应该是label而不是lablelabels,而不是lables。我建议的另一件事是在一种情况下将Line组件包装起来,比如

代码语言:javascript
复制
...other code

{ dates.length > 0 && 
  <Line data = {chartData} />
}

...other code

这只是等待api调用和dates状态改变。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73079847

复制
相关文章

相似问题

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