Size: a a a

Android Architecture

2021 May 30

AI

Arkadii Ivanov in Android Architecture
источник

AI

Arkadii Ivanov in Android Architecture
Вот например редактирование настроек, с возможностью сохранения и отмены. Я считаю, что это одно состояние.
источник

JF

Jorik Fat in Android Architecture
если бы состояние в памяти было бы одно, то откуда берется состояние, которое ставится в результате отмены?
источник

AI

Arkadii Ivanov in Android Architecture
Вот это состояние - это всё что есть в памяти
источник

JF

Jorik Fat in Android Architecture
открыли настройки, изменили 3 поля,
сменили конфигурацию.
Откроется изначальные настройки?
источник

AI

Arkadii Ivanov in Android Architecture
settings - это оригинал, editing - это процесс редактирования. При нажатии кнопки Сохранить, reducer проверяет правильность и либо заменяет settings на данные из editing, либо нет.
источник

AI

Arkadii Ivanov in Android Architecture
Нет
источник

JF

Jorik Fat in Android Architecture
так об этом и речь, нужно хранить то, что сейчас на экране, и то, что было когда пользователь его открыл (чтобы можно было нажать "отмена").
Но хранится это в одном Store
источник

JF

Jorik Fat in Android Architecture
и почему это не 2 состояния?
источник

JF

Jorik Fat in Android Architecture
хорошо, давайте я перефразирую, сказав, что это 2 инстанса состояния
источник

AI

Arkadii Ivanov in Android Architecture
Потому что состояние представлено одним классом, консистентность которого гарантирована редьюсером.
источник

AI

Arkadii Ivanov in Android Architecture
Так можно сказать что простой data class State(val a, val b, val c) - это три состояния
источник

JF

Jorik Fat in Android Architecture
а стек состояний для undo это не пачка состояний?
источник

AI

Arkadii Ivanov in Android Architecture
Нет, инстанс один
источник

AI

Arkadii Ivanov in Android Architecture
Нет
источник

JF

Jorik Fat in Android Architecture
почему?
источник

AI

Arkadii Ivanov in Android Architecture
Потому что состояние текстового редактора - это текущий текст + стек операций ввода.
источник

IN

Ilya Nikolaev in Android Architecture
Это все одно единое состояние. Текущие настройки и транзакции.
источник

AI

Arkadii Ivanov in Android Architecture
Вот в случае с редактированием настроек, который я привёл - это один класс State, который хранится в единственном экземпляре.
источник

JF

Jorik Fat in Android Architecture
зачем их объединять?
источник