Update extension.dart

This commit is contained in:
jyuesong
2022-01-18 18:59:55 +08:00
parent 5ba83212af
commit 0a2e9a3c09

View File

@@ -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);
} }
} }