是否有可能不在Elm中每个计时器重新创建整个模型?

时间:2016-01-11 19:33:46

标签: elm

例如,我需要页面上的计时器。所以我可以每100毫秒进行一次动作

type Action = Tick Time

我的time中有字段Model。模型可能很大,但由于时间场,我需要每100毫秒重新创建它和整个视图。我认为这在性能方面不会有效。

还有其他办法,或者我不应该担心这件事吗?

1 个答案:

答案 0 :(得分:1)

每次都不必重新创建整个视图。 Elm使用Virtual DOM并且做差异只改变实际DOM的最小值。如果您的视图的大部分实际上每100毫秒都会发生变化,那么这显然会导致问题,但我猜测您只是每100毫秒做一次小调整,而您可能没有什么可担心的。查看您的开发人员工具,了解流程利用率是否高峰。

您的模型也不会每100毫秒重新创建一次。围绕基础数据结构进行了优化(参见this related conversation about foldp internals),可以让您从不变性和纯度方面进行思考,但是在引擎盖下进行了优化。