我想知道UseCase在Clean Architecture中的具体应用是什么。因为,如今当您拥有远程数据源或 REST API 时,繁重的流程都是在服务器端完成的,因此您无需在 UseCase 中实现任何逻辑。所有逻辑都是状态管理,用于处理加载错误等,这些必须位于状态管理内部。我错了吗?您是否有需要使用用例的场景?
假设我们使用以下代码导航到“PageA”:
Navigator.push(
context,
MaterialPageRoute(
builder: (context) {
return BlocProvider(
create: (context) => BlocA(),
child: PageA(),
);
},
),
);
Run Code Online (Sandbox Code Playgroud)
当“PageA”导航到“PageB”时。我如何访问“BLocA”?我尝试使用以下代码从“PageA”导航到“PageB”,但它崩溃了。
Navigator.push(
context,
MaterialPageRoute(
builder: (context) {
return BlocProvider(
create: (context) => contxt.read<BlocA>(),
child: PageB(),
);
},
),
);
Run Code Online (Sandbox Code Playgroud) “此错误仅发生在某些股票上,例如 NFLX、KO 或 MCD,但 AAPL 或 INFy 则不会发生,两者都具有 yfinance 0.1.63 和 0.1.69、pandas 1.2.3 或 1.4”
import yfinance as yf
from pandas_datareader import data
import os
import numpy as np
import pandas as pd
aapl = yf.download('NFLX', start="2019-01-01", end="2022-01-28")
#aapl = data.DataReader("^VIX", start='2021-1-1', end='2022-01-28', data_source='yahoo')
print(aapl.tail())
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的项目中使用可注入,但是当我尝试这部分代码时:
@injectable
abstract class TodoRepository {
Future<Either<Failure, DayTodosEntity>> getDayDodo(DateEntity date);
}
Run Code Online (Sandbox Code Playgroud)
run build_runner出现此错误后:
[TodoRepository] is abstract and can not be registered directly!
if it has a factory or a create method annotate it with @factoryMethod
Run Code Online (Sandbox Code Playgroud)
不明白我错过了什么。