cache<T> method
Caches and stores the value returned by callback.
If keys is passed a value different from the previous value, callback is executed again and the value is updated.
If name is specified, it is saved as a separate type. If keys is changed, the previous state is discarded, but if name is changed, it is kept as a separate state.
callbackで返される値をキャッシュして保存します。
keysが前の値と違う値が渡された場合、再度callbackが実行され値が更新されます。
nameを指定すると別のタイプとして保存されます。keysを変えた場合は以前の状態は破棄されますが、nameを変えた場合は別々の状態として保持されます。
Implementation
T cache<T>(
T Function(QueryScopedValueRef<PageOrWidgetScopedValueRef> ref) callback, {
List<Object> keys = const [],
Object? name,
}) {
return getScopedValue<T, _CacheValue<T, PageOrWidgetScopedValueRef>>(
(ref) => _CacheValue<T, PageOrWidgetScopedValueRef>(
callback: callback,
keys: keys,
ref: this.ref,
),
listen: false,
name: name,
);
}