Javascript 单向数据流:在处理大量项目时减轻返工?

Javascript 单向数据流:在处理大量项目时减轻返工?,javascript,reactjs,redux,flux,re-frame,Javascript,Reactjs,Redux,Flux,Re Frame,据我所知,单向数据流(Flux)似乎不适合特定的用例。我们有一个SPA,它显示了整个月数百个日历条目的列表。每个条目都总结了一些细节 UI允许用户通过单击某个条目来展开该条目,以显示其他详细信息。这是一个简单的问题,在模型中的条目上切换扩展的位 让我感到困扰的是,每个用户操作都需要整个视图模型的重新渲染,然后再与DOM协调。因此,在数百个条目中切换一个条目会触发相当多的返工,重新生成数百个未做任何更改的其他条目,以适应一个条目上的更改 必须有一种方法将更新消息传递到正确的邮箱,以避免不必要的返工

据我所知,单向数据流(Flux)似乎不适合特定的用例。我们有一个SPA,它显示了整个月数百个日历条目的列表。每个条目都总结了一些细节

UI允许用户通过单击某个条目来展开该条目,以显示其他详细信息。这是一个简单的问题,在模型中的条目上切换
扩展的

让我感到困扰的是,每个用户操作都需要整个视图模型的重新渲染,然后再与DOM协调。因此,在数百个条目中切换一个条目会触发相当多的返工,重新生成数百个未做任何更改的其他条目,以适应一个条目上的更改

必须有一种方法将更新消息传递到正确的邮箱,以避免不必要的返工。我知道React使用键试图优化视图模型与DOM的协调方式,但即使通过这种优化,整个视图模型也会在任何操作中完全重新生成。如果消息路由和DOM协调更好的话,我看不出有什么理由不能显示数千项的列表


我正在研究解决这个问题的办法。我的方法使用了一个版本的memonization,它从先前的渲染中缓存视图模型。我有兴趣从别人的创新中学习。

建议使用redux传奇来解决这个问题。请参考下面的链接


[redux sage][1]

React-redux库提供了一个
connect
函数,该函数生成用于处理订阅redux存储的包装器组件<代码>连接
实现了大量优化,以确保包装的组件仅在实际需要时重新呈现。还有一些特定的模式可用于帮助优化重新渲染。最主要的一个是让一个连接的列表组件将项目ID传递给连接的子项,子项使用该ID查找自己的数据。最后,通常使用重新选择库创建的记忆“选择器”函数也可以帮助减少重新渲染

我的文章的这一部分有很多关于这个主题的文章。这篇文章内容特别丰富,本周早些时候也有一篇文章