美文网首页
Flutter Redux 状态管理

Flutter Redux 状态管理

作者: 张漂亮1号 | 来源:发表于2020-01-13 18:52 被阅读0次

Xmpp中经常遇到消息刷新,红点刷新,等问题.

消息到处发送,代码也不利于维护,发现有个redux,方便好用,记录下

image

1 项目中增加 redux_epics: 0.12.0

2 创建State

import 'package:meta/meta.dart';
/**
 * State中所有属性都应该是只读的
 */
@immutable
class CountState{
  int _count;
  get count => _count;

  CountState(this._count);
}

3 创建action

enum Action{
  increment
}

4 创建reducer

CountState reducer(CountState state,action){
  //匹配Action
    if(action == Action.increment){
      return CountState(state.count+1);
    }
    return state;
}

5 创建store

CountState.initState(){ _count = 0;}
 
void main() {
  final store =
      Store<CountState>(reducer, initialState: CountState.initState());
  runApp(new MyApp(store));
}

6 将Store放入顶层

class MyApp extends StatelessWidget {
  final Store<CountState> store;

  MyApp(this.store);

  @override
  Widget build(BuildContext context) {
    return StoreProvider<CountState>(
      store: store,
      child: new MaterialApp(
        title: 'Flutter Demo',
        theme: new ThemeData(
          primarySwatch: Colors.blue,
        ),
        home: TopScreen(),
      ),
    );
  }
}
 

7 在子页面中获取Store中的state

StoreConnector<CountState,int>(
              converter: (store) => store.state.count,
              builder: (context, count) {
                return Text(
                  count.toString(),
                  style: Theme.of(context).textTheme.display1,
                );
              },
            ),

7 发出action

floatingActionButton: StoreConnector<CountState,VoidCallback>(
        converter: (store) {
          return () => store.dispatch(Action.increment);
        },
        builder: (context, callback) {
          return FloatingActionButton(
            onPressed: callback,
            child: Icon(Icons.add),
          );
        },
      ),
到这里,xmpp只需要收到消息,页面就更自动更新
image

更多详解:
喜欢可以加@群号:913934649

简书: https://www.jianshu.com/u/88db5f15770d

csdn:https://me.csdn.net/beyondforme

掘金:https://juejin.im/user/5e09a9e86fb9a016271294a7

相关文章

  • Flutter redux 使用与理解

    Flutter 状态管理redux 方案理解与实践 redux 数据管理方式来自 react ,React 的数据...

  • flutter redux的理解

    redux是 flutter项目中的 状态管理解决方案redux[https://pub.dev/packages...

  • Flutter状态管理

    Flutter状态管理ScopedModel 垃圾Redux 咸鱼的 太大bloc 也还行StatefulWidg...

  • Flutter Redux 状态管理

    Xmpp中经常遇到消息刷新,红点刷新,等问题. 消息到处发送,代码也不利于维护,发现有个redux,方便好用,记录...

  • Flutter状态管理之路(五)

    接上一篇Flutter状态管理之路(四)此篇主要介绍flutter_mobx Fish Redux 版本:0.2....

  • Flutter之状态管理

    Flutter的状态管理有:1、State:Flutter自带的,开发耦合度高,不推荐2、fish_redux:阿...

  • Redux

    Redux状态管理 Redux 是 JavaScript 状态管理容器,提供可预测的状态管理。redux 可以让你...

  • Flutter状态管理之redux

  • Flutter状态管理之Redux

    当你开发flutter到一定阶段的时候你就会发现,在这个一切皆组件的项目中,同时也会是一切皆状态,好几十个状态满天...

  • Flutter状态管理(五):Redux

    一、前言 Flutter状态管理系列:Flutter状态管理(一):ScopedModel[https://www...

网友评论

      本文标题:Flutter Redux 状态管理

      本文链接:https://www.haomeiwen.com/subject/keenactx.html