observe<S, ObservedState, A> static method
WithStore<ObservedState, A>
observe<S, ObservedState, A>({
- required Store<
S, A> store, - required ObservedState observe(
- S state
- required Widget builder(
- ObservedState state,
- void send(
- A action
- BuildContext context
- bool isEqual(
- ObservedState previous,
- ObservedState current
- Key? key,
Creates a WithStore that projects state via observe before building.
The widget only rebuilds when the observed (projected) value changes, not when unrelated parts of the global state change.
WithStore.observe(
store: appStore,
observe: (state) => state.username,
builder: (username, send, context) => Text(username),
);
Implementation
static WithStore<ObservedState, A> observe<S, ObservedState, A>({
required Store<S, A> store,
required ObservedState Function(S state) observe,
required Widget Function(ObservedState state, void Function(A action) send, BuildContext context) builder,
bool Function(ObservedState previous, ObservedState current) isEqual = IsEqualUtils.stateAreEquals,
Key? key,
}) =>
WithStore(
key: key,
store: store.scopeState(toLocalState: observe),
builder: builder,
isEqual: isEqual,
);