如何从 stateLessWidget 更新 StateFullWidget

问题描述

我想更新 getBoundingClientRect 布尔值并在按下 evaluateAnswer(无状态小部件)按钮时使用新值重建 QuestionsList(有状态)小部件。但它总是使用我初始化变量的 SubmitExamButton 值构建它。我尝试使用 false 制作 Body 有状态小部件,如下所示:

SubmitExamButton

Body.dart

SubmitExamButton(
    onPress: () {
       setState(() {
           evaluateAnswer = true;
       });
    },),

解决方法

您需要将您的evaluateAnswer 移到与StatefulWidget 关联的State 类的成员变量中。然后,当您在 State 类的 build() 中的任何位置 setState 时,Stateful 小部件将重建。将数据作为无状态小部件的成员数据粘贴在重建机制中不会引起更改。