如何在不每次构建路线的情况下加载路线?

时间:2019-05-07 05:55:32

标签: android dart flutter

我正在开发一个具有收件箱消息视图的Flutter应用程序。我正在主导航路线内将此消息路线作为小部件加载。当我调用此消息小部件时,每次选择收件箱选项时,它将作为新的小部件生成。

即每次都在调用“ initState”。我只需要加载一次小部件,然后在按导航抽屉中的收件箱选项时返回已加载的小部件。

有什么办法可以实现这一目标?

2 个答案:

答案 0 :(得分:1)

是的!但您应该阅读。 flutter state management。 我推荐State rebuilder

每次没有调用setState()进行状态管理时,它将调用build()方法并重新构建所有内容。

答案 1 :(得分:1)

像您这样的声音与“加载”小部件的实际含义有所不同。

您在initState()中从事昂贵的工作吗?这应该在后台由业务逻辑来完成(有很多讨论,哪种体系结构最适合您的目的,选项有BLoCMVCScopedModel等)

initState()负责将窗口小部件插入窗口小部件树中时的初始化(这恰好在导航至页面时发生,并且在您返回时又一次发生,因为您将窗口小部件从树中删除后,离开)。在这里执行与繁重/业务逻辑相关的操作可能不是最理想的选择。