【问题标题】:Flutter access State<T> from it's StatefulWidgetFlutter 从 StatefulWidget 访问 State<T>
【发布时间】:2022-01-21 10:18:24
【问题描述】:

我正在编写一个应用程序,其中小部件及其状态需要保存到磁盘并稍后恢复。为了保存StatefulWidget,我需要访问它对应的State&lt;T&gt; 对象。

这是我想象的代码的样子:

class Block extends StatefulWidget {
  const Block({Key? key}) : super(key: key);

  void saveToDisk(){
    // access BlockState object
    // save to disk…
  }

  @override
  BlockState createState() => BlockState();
}

class BlockState extends State<Block> {
  final String _someState = ‚Hello Stackoverflow‘;

  @override
  Widget build(BuildContext context) {
    return const Text(‚Some Text‘);
  }
}

有人知道如何访问BlockState 对象(saveToDisk() 中的第一条评论)吗?

【问题讨论】:

  • 很可能您需要RestorationMixin mixin - 文档说:“管理 StatefulWidget 的 State 对象的恢复数据。恢复数据可以被序列化,并在稍后的时间点时间,用于将 State 对象中的有状态成员恢复到生成数据时的相同值。”
  • @pskink 非常感谢!这看起来像我要找的东西。
  • 当然,欢迎您

标签: flutter flutter-state


【解决方案1】:

widget.saveToDisk();

所有有状态的小部件都有这种方式。

【讨论】:

    猜你喜欢
    • 2021-02-19
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 1970-01-01
    • 2020-06-11
    相关资源
    最近更新 更多