我正在开发一个具有收件箱消息视图的Flutter应用程序。我正在主导航路线内将此消息路线作为小部件加载。当我调用此消息小部件时,每次选择收件箱选项时,它将作为新的小部件生成。
即每次都在调用“ initState”。我只需要加载一次小部件,然后在按导航抽屉中的收件箱选项时返回已加载的小部件。
有什么办法可以实现这一目标?
答案 0 :(得分:1)
是的!但您应该阅读。 flutter state management。 我推荐State rebuilder。
每次没有调用setState()进行状态管理时,它将调用build()方法并重新构建所有内容。
答案 1 :(得分:1)
像您这样的声音与“加载”小部件的实际含义有所不同。
您在initState()
中从事昂贵的工作吗?这应该在后台由业务逻辑来完成(有很多讨论,哪种体系结构最适合您的目的,选项有BLoC,MVC,ScopedModel等)
initState()
负责将窗口小部件插入窗口小部件树中时的初始化(这恰好在导航至页面时发生,并且在您返回时又一次发生,因为您将窗口小部件从树中删除后,离开)。在这里执行与繁重/业务逻辑相关的操作可能不是最理想的选择。