Size: a a a

Elm Lang сообщество разработчиков

2020 April 06

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Разве?
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Конечно
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Я думал tea-combine
хранит все в виде

{
 page1: Page1Model,
 page2: Page2Model,
}

только через списки (если по тупому) 😬
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Home Home.Model | Catalog Catalog.Model — вот так и хранит!
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Всегда хранится состояние одной лишь текущей страницы
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Там нет никакой "магии" и "реальной модели под капотом"
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Не пойму. Вот я сделал 2 тестовых страницы с разными моделями. Обе в памяти
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Так вы не сделали "страницы".
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Вы просто рядом положили две модели
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
и две страницы же
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Пойду еще покопаюсь, спасибо за ответ, не туда бы копал.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
А, стоп. Да, по умолчанию всё хранится.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Но можно сделать и вытеснение!
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
И будет как раз так, как вы показали
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
type Page = Home Home.Model | Catalog Catalog.Model
type alias Model = { page: Page }
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Только там не будет такой-вот кастомной "суммы". Будет Either Home.Model (Either Catalog.Model Shop.Model)
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Потому что для такой "обобщённой суммы" можно написать комбинаторы один раз. А для пользовательской не получится уже.
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Пока кажется, что проще чистить модель перед уходом (если есть нужда)
Вызвать init без выполнения cmd оттуда
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Проблема с очисткой - старая боль от redux+react, когда было модно ВСЕ хранить в общем сторе. Никто не чистил и потом кучу лулзов ловили.
источник