gpt4 book ai didi

reactjs - Apexcharts - ReactJs - 实时 - 无法读取未定义的属性 'filter'

转载 作者:行者123 更新时间:2023-12-04 17:26:09 25 4
gpt4 key购买 nike

我在合成器( Hook )中创建了一个图表:

return (
<div id="chart-candlestick">
<ReactApexChart options={optionsCandles} series={seriesCandles} type="candlestick"
height={290}/>
</div>)

我尝试添加值来测试实时可能性。 (没有它,它工作正常!)我的问题是我尝试了几个小时,但没有找到为什么会出现此异常。

所以,我在选项中命名了我的图表(“蜡烛”):

{
chart: {
type: 'candlestick',
height: 290,
id: 'candles'
{...}
},
{...}
}

因此,我不时尝试使用 ApexCharts 的 exec 方法手动添加更多数据:

function fetchLastDatas() { 
const date = dateAdd(candleDatas[candleDatas.length - 1].x,"minute",5)
var obj = {
x: date,
y: candleDatas[candleDatas.length - 1].y
}
candleDatas.push(obj);

ApexCharts.exec('candles', 'updateSeries', [{
data:candleDatas
}], true)

}

我的数组有数据,但我在“ApexCharts.exec”行有这个异常,我不知道为什么:

Uncaught TypeError: Cannot read property 'filter' of undefined
at Function.value (apexcharts.common.js:14)
at Function.value (apexcharts.common.js:14)
at fetchLastDatas (ChartCaneva.js:178)

我是这个库的新手(通常在 React 中)所以感谢您的帮助!

晚安(或早安)!

最佳答案

不久前遇到了类似的错误。

ApexCharts.exec 似乎在提示,因为它正在尝试更新一个组件(带有 id='candles' 的图表)尚未安装。

您可以尝试在更新函数中添加 console.log(document.getElementById('chart-candlestick')) 来检查这一点。

也许尝试添加一个条件,在尝试运行任何更新之前检查组件是否已安装。

useRef?


function fetchLastDatas(chartIsMounted) {
// ...
// debug: console.log(document.getElementById('chart-candlesticks'));
if(chartIsMounted !== null) {
ApexCharts.exec('candles', 'updateSeries', [{ /* ... */}])
}
}

function Parent() {
let chartRef = React.useRef(null);

React.useEffect(() => {
fetchLastDatas(chartRef.current);
}, []);

return <Child chartRef={chartRef} /> // You could use React.forwardRef instead and pass a `ref` prop
}

function Child({ chartRef }) {
return <ChartContainer chartRef={chartRef} />;
}

function ChartContainer({ chartRef }) {
return (
<div id="chart-candlestick">
<ReactApexChart id='candles' ref={chartRef} />
</div>
);
}

关于reactjs - Apexcharts - ReactJs - 实时 - 无法读取未定义的属性 'filter',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63273061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com