Я совершенно новичок в redux, и это начинает обретать смысл. Я пытаюсь использовать промежуточное ПО, чтобы редуктор оставался чистой функцией, но это дает мне ошибку, которую я не понимаю. Я слежу за образцами архитектуры флаттера для redux
void main() {
final store = Store<AppState>(
appReducer,
initialState: AppState.loading(),
middleware: createStoreFlashCardsMiddleware(),
);
runApp(new MyApp(store));
}
// промежуточное ПО
List<Middleware<AppState>> createStoreFlashCardsMiddleware() {
final loadFlashCards = _createLoadFlashCardsMiddleware();
final saveFlashCards = _createSaveFlashCardsMiddleWare();
return [
TypedMiddleware<AppState, FetchFlashCardsAction>(loadFlashCards),
TypedMiddleware<AppState, AddFlashCardAction>(saveFlashCards),
TypedMiddleware<AppState, ClearCompletedAction>(saveFlashCards),
TypedMiddleware<AppState, ToggleAllAction>(saveFlashCards),
TypedMiddleware<AppState, UpdateFlashCardAction>(saveFlashCards),
TypedMiddleware<AppState, FetchCardsSucceededAction>(saveFlashCards),
TypedMiddleware<AppState, DeleteFlashCardAction>(saveFlashCards),
];
}
Middleware<AppState> _createSaveFlashCardsMiddleWare() {
return (Store store, action, NextDispatcher next) async {
// YOUR LOGIC HERE
// After you do whatever logic you need to do,
// call this Redux built-in method,
// It continues the redux cycle.
next(action);
};
}
Middleware<AppState> _createLoadFlashCardsMiddleware() {
return (Store store, action, NextDispatcher next) async {
next(action);
};
}
Ошибка:
error: The argument type 'List<(Store<AppState>, dynamic, (dynamic) → void) → void> (C:\flutter\bin\cache\pkg\sky_engine\lib\core\list.dart)' can't be assigned to
the parameter type 'List<(Store<AppState>, dynamic, (dynamic) → void) → void> (C:\flutter\bin\cache\pkg\sky_engine\lib\core\list.dart)'. (argument_type_not_assignable at [line])
У вас случайно нет относительного импорта в lib/main.dart (те, которые не начинаются с import 'package: ... или import 'dart:...? См. Также github.com/dart-lang/sdk/issues/33076
Я включил функции, но на данный момент они пусты.
Я удалил main за пределами библиотеки (не знал, что это рекомендуется), но весь импорт, похоже, был import 'package:'
Кажется, я не могу запустить ваш минимальный образец кода. Не могли бы вы предоставить минимальный, полный и проверяемый пример? Также вы используете какой-нибудь плагин redux?

Можете ли вы поделиться кодом _createLoadFlashCardsMiddleware и _createSaveFlashCardsMiddleWare ()?