Flutter 在颤振状态下初始化变量之前调用Widgets build()方法
我目前正在学习一门关于颤振的课程,其中包含了一些必须自己解决的问题。 其中之一包括构建一个CYOA应用程序。 在这个应用程序中,您构建了一个名为Flutter 在颤振状态下初始化变量之前调用Widgets build()方法,flutter,dart,Flutter,Dart,我目前正在学习一门关于颤振的课程,其中包含了一些必须自己解决的问题。 其中之一包括构建一个CYOA应用程序。 在这个应用程序中,您构建了一个名为Story的类,其中包含以下故事片段和用户可以选择的两个可能的方向。 所有这些故事都保存在名为StoryBrain的类的列表中。 其中一项任务要求您检索故事开头的第一个文本,并在\u StoryPageState的构建方法中初始化文本小部件 像这样: Text( storyBrain.getStory(), style: TextStyl
Story
的类,其中包含以下故事片段和用户可以选择的两个可能的方向。
所有这些故事
都保存在名为StoryBrain
的类的列表中。
其中一项任务要求您检索故事开头的第一个文本,并在\u StoryPageState
的构建方法中初始化文本
小部件
像这样:
Text(
storyBrain.getStory(),
style: TextStyle(
fontSize: 25.0,
),
),
方法getStory()
只返回StoryBrain
对象内故事列表中第一个story
对象的故事文本
这里的问题是,如果我在\u StoryPageState
类的范围内声明并初始化StoryBrain
方法,getStory()
返回null
,因为变量本身或对象中的变量似乎尚未初始化。
但是,如果我在同一个文件中的全局级别上初始化一个StoryBrain
对象(在任何类之外),我就不会有任何问题
因此,我有多个问题:
- 第一个构建方法何时调用?在初始化变量之前调用它吗?它是在不同的进程/线程中完成的吗
- 如何在无状态小部件中封装包含自定义数据类型的变量。(不使用和/或使用构造函数)
- 在构建方法中初始化变量是一种好的做法吗