有没有办法缩短 Flutter 中的 Riverpod 依赖注入调用?
Is there a way to shorten Riverpod dependency injection calls in Flutter?
我在我的 Flutter 项目中使用 Riverpod 进行依赖注入。这是一个很棒的包,但是......这些函数调用变得越来越长并且难以阅读我的项目变得越来越复杂。特别是在我有一些依赖于这些调用的复杂逻辑的地方。
什么是缩短这些长 function/property 电话的好方法?
理想情况下是将其一直返回到原始函数调用。
复杂度示例:
if (saleKey != null) {
await context.read(localServices).editSale(sale: updatedSale()!, saleKey: saleKey, userID: localID);
await uuidBox.add(syncEvent.syncUUID);
await context.read(masterSyncEventServices).addSyncEvent(syncEvent, localID);
} else {
await context.read(localServices).addSale(updatedSale()!, localID);
await uuidBox.add(syncEvent.syncUUID);
await context.read(masterSyncEventServices).addSyncEvent(syncEvent, localID);
}
如何缩短这些电话?
context.read(masterSyncEventServices).addSyncEvent(syncEvent, localID);
final myProvider = context.read(masterSyncEventServices);
myProvider.addSyncEvent(syncEvent, localID);
我在我的 Flutter 项目中使用 Riverpod 进行依赖注入。这是一个很棒的包,但是......这些函数调用变得越来越长并且难以阅读我的项目变得越来越复杂。特别是在我有一些依赖于这些调用的复杂逻辑的地方。
什么是缩短这些长 function/property 电话的好方法?
理想情况下是将其一直返回到原始函数调用。
复杂度示例:
if (saleKey != null) {
await context.read(localServices).editSale(sale: updatedSale()!, saleKey: saleKey, userID: localID);
await uuidBox.add(syncEvent.syncUUID);
await context.read(masterSyncEventServices).addSyncEvent(syncEvent, localID);
} else {
await context.read(localServices).addSale(updatedSale()!, localID);
await uuidBox.add(syncEvent.syncUUID);
await context.read(masterSyncEventServices).addSyncEvent(syncEvent, localID);
}
如何缩短这些电话?
context.read(masterSyncEventServices).addSyncEvent(syncEvent, localID);
final myProvider = context.read(masterSyncEventServices);
myProvider.addSyncEvent(syncEvent, localID);