Очевидно, что когда мы отправляем действие, другие свойства, которые не имеют редуктора, переопределяются как нулевые, тогда мне нужно было сделать следующее:
Определить редуктор для этого объекта:
import 'package:computeiro/store/models/index.dart';
import 'package:computeiro/store/reducers/index.dart';
AppState appReducer(AppState state, action) {
return AppState(
isLoading: loadingReducer(state.isLoading, action),
poscomp: poscompReducer(state.poscomp, action), //HERE
bottomNavIndex: bottomNavReducer(state.bottomNavIndex, action),
);
}
Определите новый конструктор для Poscomp
:
factory Poscomp.init() => new Poscomp(
exams: [Exam(question: 'What is somethine?', answer: Answer.A)]);
И вызовите его внутри AppState
:
factory AppState.initial() => new AppState(
isLoading: true,
poscomp: Poscomp.init(),
bottomNavIndex: 1,
);