Visualizing ImmutableJS data from Redux store in a graph

时间秒杀一切 提交于 2019-12-13 12:19:38

问题


I am working on a React and Redux application that uses ImmutableJS to store all of it's state. The app receives data from a sensor at about 100 Hz. I need to draw a graph that updates in real time and displays this data. I have been using React-Vis for the graph, the problem is that it takes an array of objects and not an ImmutableJS data structure.

I have solved this by converting the ImmutableJS data structure to an array like this:

const data = this.props.HEGPercentage.toIndexedSeq().toArray()

This works but the problem I am encountering is massive lag if I run this with real data, I think because it has to create a new array all the time.

How can I create a high performance solution for this and still use ImmutableJS?


回答1:


Converting between plain JS objects and Immutable.js objects can be very expensive. In particular, the fromJS() and toJS() operations are the most expensive operations in the Immutable.js library, and should be avoided as much as possible (and especially in Redux mapState functions).

It sounds like you're already at least somewhat on the right track. Use memoized selectors to cut down on expensive transformations, try to round those numbers if possible so that there's fewer meaningless changes, and cut down on the total number of updates overall.

My React/Redux links list has a large section of articles on improving performance for React, Redux, and Immutable.js, which may be helpful.

It's also worth noting that I personally advise against use of Immutable.js for a variety of reasons.



来源:https://stackoverflow.com/questions/46274972/visualizing-immutablejs-data-from-redux-store-in-a-graph

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!