我对flutter有点陌生,可以尝试flutter redux库,但是我坚持要有适当的中间件列表。
import 'package:flutter_app/incrementButtonScreen/IncrementButtonActions.dart';
import 'package:flutter_app/incrementButtonScreen/IncrementButtonLogicStates.dart';
import 'package:flutter_app/incrementButtonScreen/IncrementButtonState.dart';
import 'package:redux/redux.dart';
List<Middleware<IncrementButtonState>> createIncrementButtonStoreMiddleware = [
TypedMiddleware<IncrementButtonState, Increment>(createIncrement("typed")),
createIncrement("normal")
];
Middleware<IncrementButtonState> createIncrement(String logger) {
return (Store store, action, NextDispatcher next) {
print('\n ACTION $logger : ${new DateTime.now()}: $action');
// some api call happening here and passing the APi call result next
next(IncrementButtonLogicIncrementState(220, 15.0));
};
}
问题是,我只能从普通的MiddleWare中获取日志,而不能从键入的版本中获取日志。我正在尝试重新设计计数器示例,并在fab上单击
class Increment{}
调度 Action store.dispatch(Increment);
我在这里创建我的商店:Store createIncrementButtonStore() {
return new Store<IncrementButtonState>(_counterReducer,
initialState: IncrementButtonState.initial(), middleware: createIncrementButtonStoreMiddleware);
}
当我用
TypedMiddleware<IncrementButtonState, Increment>
替换TypedMiddleware<IncrementButtonState, dynamic>
时,我明白了ACTION typed : 2018-08-06 12:04:45.778293: Increment
ACTION normal : 2018-08-06 12:04:45.778411: Instance of 'IncrementButtonLogicIncrementState'
最佳答案
经过长时间的搜索,我发现我正在调度与Java中的Increment.class等效的Increment
,我相信,在调度Increment()
之后它可以正常工作
关于redux - Flutter类型的中间件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51705064/