【发布时间】:2020-08-29 07:21:10
【问题描述】:
我需要在 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>
...
我尝试了其他图表库,但它们都给出了相同的结果
附:如果语言不完美,请见谅。
【问题讨论】:
标签: android react-native mobile charts react-native-svg-charts