Flutter Redux仅重绘一次根窗口小部件

时间:2019-09-02 18:17:05

标签: flutter dart flutter-redux

我正在制作具有动态外观的应用程序,因此在加载config json时,我需要以包括应用程序主题的新外观重新绘制整个应用程序。

我通过使用Redux StoreConnector包装根窗口小部件来实现此目标,但是问题是,当更改应用程序状态时,现在整个窗口小部件树都会重新绘制。

class App extends StatelessWidget {
  final Store<AppState> store;
  final Widget homeWidget;

  App(this.store, this.homeWidget);

  @override
  Widget build(BuildContext context) {
    return StoreProvider(
      store: store,
      child: StoreConnector<AppState, ApplicationViewModel>(
          builder: builder, converter: converter),
    );
  }

  Widget builder(BuildContext context, ApplicationViewModel vm) {
    return MaterialApp(
      title: 'Flutter Redux Example',
      navigatorKey: Keys.navKey,
      theme: vm.theme,
      home: homeWidget,
    );
  }

  ApplicationViewModel converter(Store<AppState> store) {
    return ApplicationViewModel.fromStore(store);
  }
}

有没有办法在加载初始配置json时仅更新一次根窗口小部件?

0 个答案:

没有答案