mirror of
https://github.com/qinglong-app/qinglong_app.git
synced 2025-10-09 16:48:19 +08:00
Update extension.dart
This commit is contained in:
@@ -1,20 +1,10 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:fluttertoast/fluttertoast.dart';
|
import 'package:fluttertoast/fluttertoast.dart';
|
||||||
import 'package:qinglong_app/main.dart';
|
|
||||||
|
|
||||||
//不推荐使用, 性能为o(n)
|
|
||||||
extension ContextExt on BuildContext {
|
extension ContextExt on BuildContext {
|
||||||
static QlAppState? _state;
|
|
||||||
|
|
||||||
T read<T>(ProviderBase<T> provider) {
|
T read<T>(ProviderBase<T> provider) {
|
||||||
_state ??= findRootAncestorStateOfType<QlAppState>();
|
return ProviderScope.containerOf(this, listen: false).read(provider);
|
||||||
return _state!.ref.read(provider);
|
|
||||||
}
|
|
||||||
|
|
||||||
T watch<T>(ProviderBase<T> provider) {
|
|
||||||
_state ??= findRootAncestorStateOfType<QlAppState>();
|
|
||||||
return _state!.ref.watch(provider);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user