Flutter状态管理之StreamBuild
如果使用setState
方法去刷新,会重新build一遍,会比较耗资源,可能会卡顿。局部刷新效果,主要的状态管理有Provider
、Bloc
、StreamBuild
等。小项目使用StreamBuild
就够了。
- 步骤1:初始化一个StreamController<可以是 int string… 一般是model>
final StreamController<String> _streamController = StreamController<String>();
- 步骤2.
dispose()
函数中关流,不关流会消耗资源,同时会引起内存泄漏_streamController.close();
- 步骤3.使用StreamBuilder构造器
StreamBuilder<String>( // 监听Stream,每次值改变的时候,更新Text中的内容 stream: _streamController.stream, initialData: _str, builder: (BuildContext context, AsyncSnapshot<int> snapshot){ return Text('点击的时候这个值会改变: ${snapshot.data}'); } )
- 步骤4.往StreamBuilder里添加流,数据变了,就用通知小部件
_streamController.sink.add("ddd");
参考
https://www.cnblogs.com/sangwl/archive/2004/01/13/12911955.html
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 DD'Notes!
评论