0

我正在使用 react chartjs2 来显示折线图。并且图表的数据在useEffect中更新。图表显示数据。事情正在发挥作用。但我得到这个钩子排气部门规则警告:

第 51 行:React Hook useEffect 缺少依赖项:'chartData'。要么包含它,要么移除依赖数组 react-hooks/exhaustive-deps

但是,如果我添加状态图表数据,那么页面会冻结,因为我认为它会进入无限循环。数据可能会不断调用。代码是:

const [chartData, setChartData] = useState({
    labels: [],
    datasets:[]
  });

  useEffect(()=>{
    let oNewChartData = {...chartData};
        oNewChartData.labels = [1,2,3,4,5,6,7];
        oNewChartData.datasets = [{
                       label: 'Week',
                       borderColor: 'green',
                       fill: false,
                       data: {x:[1,2,3,4,5,6,7],y:[0,1,2,3,4,5]}
                   }
                 ]
        setChartData(oNewChartData);
    }
  },[props]);
4

1 回答 1

0

是的,那是因为 useEffect 会在 chartData 更新时触发,而你在 useEffect 中更新了 chartData,这将导致无限循环。我的猜测是你有一个 ESLint 告诉你在你的 useEffect 中包含这个值。

ESLint 不知道反应中的无限循环

于 2020-11-05T13:26:01.023 回答