I have a situation where I want to display different app bar actions based on StoreConnector.
However, I don't want to build the entire Scaffold when the state changes, only the AppBar.
Options I tried / thought of:
- Since
StoreConnector isn't a PreferredSizeWidget, which is what the appBar argument to Scaffold expect, I can't wrap the entire appbar.
- The
actions argument expect a list, so I can't wrap that either.
- I thought on making a
StoreConnector for each possible action, even though that may be null, but we can't return null; so that's not an option.
Example of what I would of wanted
return Scaffold(
appBar: StoreConnector<AppState, AuthState>(
converter: (appState) => appState.state.auth,
builder: (context, auth) {
List<Widget> widgets = [];
if (auth.isLoggedIn) {
widgets.add(Icon(Icons.star));
}
widgets.add(PopupMenuButton<Object>(...));
return AppBar(title: 'MyApp', actions: actions);
},
body: ...
),
);
What should I do about it?
I have a situation where I want to display different app bar actions based on
StoreConnector.However, I don't want to build the entire
Scaffoldwhen the state changes, only theAppBar.Options I tried / thought of:
StoreConnectorisn't aPreferredSizeWidget, which is what theappBarargument toScaffoldexpect, I can't wrap the entire appbar.actionsargument expect a list, so I can't wrap that either.StoreConnectorfor each possible action, even though that may be null, but we can't return null; so that's not an option.Example of what I would of wanted
What should I do about it?