【发布时间】:2022-01-21 10:18:24
【问题描述】:
我正在编写一个应用程序,其中小部件及其状态需要保存到磁盘并稍后恢复。为了保存StatefulWidget,我需要访问它对应的State<T> 对象。
这是我想象的代码的样子:
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