我正在构建一个带有Reactive原住民的应用程序,在我的转换中,我要加载更多的数据,它非常慢,我想知道是否有更好的方法来构造我的应用程序以避免这些关闭,这些关闭会随着JSON文件变得更大而变得更长。
假设我有
var data = require('./data/data.json')
在我的索引视图中,我认为将这些数据传递给一个视图,然后视图将其拆分到其他视图(如items={data[section_name]}
)中,然后像在层次结构中那样递归地向下移动。在每个级别上创建较小的数据集。即使是小物体,它仍然很慢。
我正在处理的JSON文件来自3-8 MBs。
发布于 2017-05-08 08:15:12
我理解你想对你的大数据做什么在你的项目,因为我以前做了同样的方式,我的反应-本地应用程序。
实际上,这种方式很好,只需加载一次数据,那么我们就可以像items={data[section_name]}
那样很容易地检索层次结构
然而,现在的问题是,处理大数据可能需要一段时间!
因此,我们应该异步地移动加载/初始化数据的部分,将其移到我们的视图之外的某个地方,这样视图的转换以及它的其他事情就不会受到影响!然后,当数据被加载/处理时,我们可能会在视图上显示类似淡入、淡出效应之类的东西,所以它将需要一个短时间(300-1000 may )。但是,在我看来,可能有更好的方法:当应用程序第一次打开时,当显示启动屏幕时(几秒钟,这种行为很常见,我们可以在这里加载大数据!)
FYI,我的应用程序使用ajax加载大数据,它甚至会比加载本地文件花费更长的时间,但是使用我上面提到的方式,没有人抱怨数据加载速度^(实际上,用户不知道数据在哪里加载,什么时候加载数据,当应用程序进入主页/首页时,所有内容都已满载)。
现在是我回答的重要部分:我建议您在这方面使用Flux/ Redux,也许Flux现在对您来说更容易了,因为Redux是一种基于Flux的改进(无论是在Flux还是Redux中,我们都有一个Store,这个Store将异步工作,您可以在这里存储您的大JSON数据):
https://www.atlassian.com/blog/software-teams/flux-architecture-step-by-step
通量可以应用于reactjs和react-当然,如果您还不知道Flux或Redux,您可能会发现有几个新的定义,但是,它确实值得一读和尝试!在您了解了它之后,它将非常容易,然后您可以将该体系结构应用于任何您喜欢的反应性项目^^
https://stackoverflow.com/questions/43825517
复制相似问题