у меня созрел вопрос. вот у mvp есть несколько вариантов : Passive view, которая является набором функций типа setTitle, setImage и прочее, и есть supervising controller, в котором вью — setModel, и сама вью знает какие поля куда пихать. вот при данном подходе (PM), State — модель, или стоит делать много более мелких стейтов ?
Хороший вопрос. Тут нужно определиться, является ли это независимым стейтом и скрывается ли за ним какая-либо ui логика. Например, если взять енитити типа Book, у которой есть name, author, title. Следует ли в этом случае делать три стейта? Нет, конечно name, author, title тут свойства Book и когда мы обновляем текущий выбранный Book, мы отображаем свойства другого экземпляра. Тут очевидно что стейтом является выбранная книга, а за отображением ее деталей не скрывается динамическая ui логика. Модель не мутабельна.
Стейт - это как минимум то, что может изменяться.
Другой пример с книгой, допустим имеем экран заполнения информации о книге. И у нас есть отдельные поля ввода для редактирования свойств Book. А сам экземпляр Book мы создаём по кнопке "сохранить". В этом случае name, author, title будут состоянием экрана, то есть нужно три стейта.
Не нужно бросаться в крайности, и всегда стоит исходить из здравого смысла.