Флаттер набрал

Я новичок в изучении флаттера и редукции библиотек, но у меня застрял правильный список промежуточного программного обеспечения.

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));
  };
}

проблема в том, что я получаю журналы только из обычного промежуточного программного обеспечения, но не из типизированной версии. Пытаюсь переделать контрпример и диспетчерское действие class Increment{} по потрясающему клику 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'

1 ответ

После долгого поиска я обнаружил, что отправляю Increment который эквивалентен Increment.class в Java, я считаю, после отправки Increment() работает нормально

Другие вопросы по тегам