我需要在 react native 中创建一个图表,它每 500 m/s 从本地模块获取数据(整数数组)并在实时更新中绘制它们,为此我使用了“react-native-svg”,我实际上可以更新图表,但性能非常缓慢,并且经常崩溃。
结果数组最多接受 1800 个结果,之后图形滚动
...
const [data, setData] = useState(new Array(1800).fill(0));
...
在侦听器中从本机模块获取数据并更新数组,从本机模块我传递一个包含 60 个元素的数组,因为它每 500 m/s 需要 60 个元素(e.values 是 60 个整数的数组)
...
setData(state => {
state.splice(0, 60)
return [...state, ...e.values]
})
...
图表
...
<LineChart
style={ { flex: 1 } }
data={data.map(dt => {
return dt
})}
svg={ {
strokeWidth: 2,
stroke: '#2171bf',
} }
yMin={-5000}
yMax={10000}
numberOfTicks={25}
>
<CustomGrid belowChart={true} />
</LineChart>
...
我尝试了其他图表库,但它们都给出了相同的结果
PS对不起,如果语言不完美。