У меня есть небольшое флаттер-приложение, использующее приставку для дротика. В настоящее время я использую redux_thunk для асинхронных действий, и это работает очень хорошо. За исключением того, что мои асинхронные действия до сих пор содержат только фиктивный код, подобный этому:
void action(Store<String> store) async {
final searchResults = await new Future.delayed(
new Duration(seconds: 1),
() => "Search Results",
);
store.dispatch(searchResults);
}
Теперь я хотел бы вызвать метод в службе (например, Firestore), но действия thunk принимают хранилище только в качестве аргумента. Так как бы мне передать службу в действия?
Интересно, так как я не смог найти примеров хорошего шаблона.
Я нашел это: https://github.com/brianegan/flutter_architecture_samples/blob/master/firestore_redux/lib/middleware/store_todos_middleware.dart
Но в нем есть все асинхронные действия как часть промежуточного программного обеспечения, которое мне не особенно нравится.