我正在使用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
功能,我会得到一个完全空白的抽屉,没有任何油漆。
有人知道吗?