用户登录

设置内容列表布局的时候,要把当前选择的内容列表布局存储在本地设备上。这里我们可以添加一个这样的反应。

在 post_index_store 里面先定义一个添加反应用的方法,名字是 storeLayoutWhenLayoutChanged ,这个方法 return 的东西,可以用一下 reaction 这个函数添加一个反应,要关注的 Observable 是 layout ,再设置一下要做的事情,接收一个 data 参数,用一下 AppStorage.setString,在本地设备上存储一个数据,名字叫 postListLayout,数据的值可以用一下 data.toString() 。

在 InitReactions 里面,用一下 reactionDisposers.add ,把执行 storeLayoutWhenLayoutChanged 返回的结果交给这个方法。

然后在构造方法里,执行一下这个 initReactions 。再找到 storeLayout,现在我们就可以把这个方法删除掉了。

然后打开 app_page_headers_actions_more ,这里之前用了一下 postIndexStore 里的 storeLayout,现在可以换成 setLayout 这个动作,这个动作会修改 layout 的值,它的值有变化,我们配置好的反应就会把当前选择的布局存储在本地设备上。

打开调试,重新启动一下。

然后打开弹出菜单,选择一下内容列表的布局, 再重新启动一下,你会发现内容列表仍然会保持之前选择的布局。说明我们在 PostIndexStore 里配置的反应生效了。

添加设置内容布局时的反应《 Flutter 移动端实例:状态管理 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点