我使用 Freezed 创建了这些联合:
abstract class ProductState with _$ProductState {
factory ProductState.loading() = ProductLoading;
factory ProductState.created(Product product) = ProductCreated;
}
然后我有一个提供者提供这样的类:
final createProductProvider =
StateNotifierProvider<CreateProductController, ProductState>(
(ref) => CreateProductController(ref));
class CreateProductController extends StateNotifier<ProductState> {
createProduct() {
// create product
state = ProductCreated(product);
}
}
在另一个提供者中,我想访问联合中的基础数据,即产品变量。
到目前为止,我一直在这样做:
if(state is ProductCreated) {
final currentProduct = state.product
}
这样做的正确方法是什么?创建另一个提供商?