flunter-reduxの部分の知識点について、整理していません。

1368 ワード

参考文献:http://www.ruanyifeng.com/blog/2016/09/redux_チュートリアル.パーティーone.baic_アメリカ.http://www.ruanyifeng.com/blog/2016/09/redux_チュートリアル.パーティーtwoasync_operations.https://segmentfault.com/a/1190000015579633
flunter-reduxは、主にプロジェクトの状態管理に用いられます。
storeによって保存されているすべてのデータstateは、ある時点のデータです。store.subscriptによってstateの変化をモニターしているデータと、view層view層にレンダリングされています。store.dispatch()を通じて通知actionを発行し、stateを再計算する過程は、reducerとなります。
class MyApp extends StatelessWidget {

  final Store store;

  MyApp({this.store});

  @override
  Widget build(BuildContext context) {
    return new StoreProvider(store: store, child: new MaterialApp(
        home:  new StoreConnector(builder: (BuildContext context,int counter){
        return new MyHomePage(title: 'Flutter Demo Home Page',counter:counter);
      }, converter: (Store store){
        return store.state;
      }) ,
    ));
  }
}
fluutter-reduxを使って、最外階はStreProviderコントロールに包まれます。でないと、エラーが発生します。
new StoreConnector(builder: (BuildContext context,int counter){
        return new MyHomePage(title: 'Flutter Demo Home Page',counter:counter);
      }, converter: (Store store){
        return store.state;
      }) 
StreConnectorコントロールを使ってstateをviewに渡すには、必ずconverterを使ってStoreの状態をコンポーネントの必要な状態に変える必要があります。ここのbuilder関数の2番目のパラメータはconverter関数の戻り値です。