小编abd*_*med的帖子

无状态 Widget 不断重建

我目前正在按照教程开发一个待办事项应用程序,这是复选框部分

我试图将它的状态提升到树上,但是当我这样做时,无状态小部件只是不停地重建,我尝试添加key,添加const将其转换为有状态,但似乎没有任何作用,它也没有为我提供任何类型的错误或异常消息

注意:当我将onChecked设置为null时,statelessWidget 会运行两次,而它应该只构建一次。

下面是代码:

    导入“包:flutter/material.dart”;
    
    类 TaskTile 扩展 StatefulWidget {
      @覆盖
      _TaskTileState createState() => _TaskTileState();
    }
    
    类 _TaskTileState 扩展状态 {
      布尔 isChecked = false;
    
      @覆盖
      小部件构建(BuildContext上下文){
        返回列表图块(
          标题:文字(
            “完整的托多伊”,
            样式:文本样式(
                装饰: isChecked == true
                    ?TextDecoration.lineThrough
                    : TextDecoration.none),
          ),
          尾随:TaskCheckBox(
              checkBoxState: 已选中,
              切换复选框状态:
                  (布尔复选框状态){
                Future.delayed(持续时间.0,
                    () 异步 {
                  设置状态((){
                    打印(
                        “==================$isChecked==============$checkBoxState============ ================================================================================================================================================================================
                    isChecked = checkBoxState;
                  });
                });
              }),
        );
      }
    }
    
    类 TaskCheckBox 扩展 StatelessWidget {
      常量任务复选框(
          {钥匙?钥匙,
          需要 this.checkBoxState, …

android state-management dart flutter statelesswidget

2
推荐指数
1
解决办法
853
查看次数