如何在ReactJS中快速过滤大型json数据集



我有一个大型json数据集,如:[{"日期":"2020-03-02","状态:"德里","地区":"东德里"。。。。。。。。。。}。。。。。。。。。。]我有不同的过滤器,比如日期、州、地区、性别、年龄等等。。我想在各种Reactjs组件中显示基于这些过滤器的数据。。但是加载过滤器花费了太多时间,这对用户来说不是很友好。。json包含超过50K个对象,并在本地加载。。我使用了for循环和if else条件来过滤数据。。但这花了太多时间。。。有什么javascript或Reactjs方法可以不同地做到这一点吗??

我的第一个建议是检查什么最耗时:

  • 过滤数据(为了方便检查,您可以在函数调用之前和之后放置控制台日志时间,然后查看(
  • 渲染所有数据(为了方便检查,您可以只渲染10个元素,看看它是否更快(
  • 也许两者都有(查看前面的2个(

渲染所有数据可能需要花费大部分时间,因为渲染50k项对浏览器来说可能很重。所以你有多种选择:

  • 分页(但可能对用户体验不好(
  • 虚拟列表https://github.com/bvaughn/react-virtualized->这种库不会直接渲染所有元素,而是只渲染屏幕上可以看到的项目+其他一些项目,所以如果你滚动它会加载更多等等,对用户来说,它几乎就像所有东西都已经加载了一样

最新更新