【发布时间】:2023-01-22 06:19:03
【问题描述】:
经常看到有人在flutter中为每个类定义依赖时说用riverpod。
final apiClientProvider = Provider.autoDispose(
(_) => GithubApiClientImpl(),
);
final githubRepositoryProvider = Provider.autoDispose(
(ref) => GithubRepositoryImpl(ref.read(apiClientProvider)),
);
final repositoryListViewModelProvider = StateNotifierProvider.autoDispose(
(ref) => RepositoryListViewModel(ref.read(githubRepositoryProvider)),
);
但是,我不明白为什么使用 riverpod 是个好主意的好处。 不应该像下面这样在使用的时候初始化吗?
我觉得下面的写法在测试方面已经足够了,比如可以用测试文件来初始化mock。
final githubRepository = GithubRepositoryImpl(GithubApiClientImpl());
final repositoryListViewModel = RepositoryListViewModel(GithubRepositoryImpl(GithubApiClientImpl()));
为什么要费心使用 riverpod?
【问题讨论】: