flutter - 发生突变时如何通知其他屏幕重新获取?
问题描述
我有一些要更改后端数据的 api。
每个屏幕都有自己的状态,我开始在 initState 中获取数据,并在可用时将其存储到状态。
问题是当我知道他们的状态数据现在已经过时时,如何通知后台堆栈中的屏幕重新获取?当我回到他们身边时,他们不会被重新获取,因为不会再次调用 initState。
我来自React Native,那里有react-query,当我使相应的缓存失效时,它会重新获取并重建屏幕。颤振中有类似的东西吗?
解决方案
你可以试试这个,请把它放在你的第一个屏幕上。
Navigator.of(context).pushNamed('/someRoute').then((completion){
your initstate function
});
参考:https ://api.flutter.dev/flutter/widgets/Navigator/push.html
如果您需要通知多个屏幕,请改用https://pub.dev/packages/flutter_bloc(还有其他选项)。
推荐阅读
- python - 如何从 python 脚本成功调用 gsutil rsync?
- python - 两个日期之间的月差
- java - 为什么在这种情况下我们不创建新的迭代器对象?
- gdb - 如何从给定偏移量的 ELF 文件中提取符号名称
- python - 在 python 中使用连接到 Hive 的 JDBC 错误
- linux - 无法读取 bash 脚本中的第二个参数
- python - refer a captured group without case sensitivity
- c++ - push_back and insert which is faster in c++ stl?
- search - how to convert cloudant query to nano search
- c++ - C++ 基本 CTOR 说明 - 为什么不调用赋值/复制构造函数