代码之家  ›  专栏  ›  技术社区  ›  Ukonn Ra

抽屉上没有油漆

  •  0
  • Ukonn Ra  · 技术社区  · 6 年前

    我正在使用flutr_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 回复  |  直到 6 年前