С диффингом изменений можно поступить так: в презентере заводим observable на какую то часть стейта, и применяем оператор distinctUntilChanged. Похоже на mvvm, но на самом деле single source of truth мы не теряем.
Я не имел в виду сохранение стейта в onSaveInstanceState. Например вы из сети сущность загрузили и работаете с ней в рамках экрана. Где она хранится у вас? В обычном MVI есть объект State, в MVVM это может быть какая то lateinit проперти.
Выглядит интересно. Только не понял, где у вас стейт хранится? Допустим хочу на новый экран передать текущий выделенный элемент, где он хранится в рамках фичи?
С диффингом изменений можно поступить так: в презентере заводим observable на какую то часть стейта, и применяем оператор distinctUntilChanged. Похоже на mvvm, но на самом деле single source of truth мы не теряем.
Выглядит интересно. Только не понял, где у вас стейт хранится? Допустим хочу на новый экран передать текущий выделенный элемент, где он хранится в рамках фичи?