未在Flutter中绘制抽屉

时间:2018-12-09 05:54:51

标签: android dart flutter flutter-redux

我正在使用flutter_redux来维护全局状态。 这里在主页上有一个抽屉,如果appState.currentUser不为空,它将显示一个特定的菜单,如果它为空,则将显示一个登录菜单,因此我将其编写如下。

drawer: Drawer(
  child: _drawer(context),
),

这是抽屉。

// drawer widget, using redurx
Widget _drawer(BuildContext context) {
  return Connect<AppState, AuthUser>(
    convert: (AppState state) => state.currentUser,
    builder: (AuthUser currentUser) {
      if (currentUser == null) {
        return SomeLoginMenu();
      } else {
        return UserProfileMenu();
      }
    },
    where: (AuthUser oldState, AuthUser newState) => oldState != newState; // I THINK SOMETHING WRONG HERE!!!
  );
}

然后我将商店中的initData设置为currentUser = null(使用built_value):

AppState state = AppState((b) => b..currentUser = null);
runApp(Provider(store: Store<AppState>(state), child: RealworldApp()));

但是现在抽屉将不会调用builder函数,我将得到一个完全空白的抽屉,没有任何涂漆。

有人知道吗?

0 个答案:

没有答案