mobx-state-tree — бібліотека, яка побудована, використовуючи все найкраще, що дає mobx, проте за принципом деревовидної структури даних.
Цей підхід має декілька значних переваг:
- Побудова складних залежностей між моделями
- Вложеність дозволяє ефективно групувати моделі під певними namespace
- Не потрібно нормалізовувати моделі — зберігайте дані там, де їм місце
- Дерево дозволяє ефективно використовувати посилання між моделями
- Можна переміщатись по дереву в будь яку сторону — як вниз (
some.deep.model
), так і вгору (getParent(self).parentProp
) - Дерево може бути серіалізоване і відображене у вигляді json
- Одна модель може знаходитись в дереві тільки в одному екземплярі, що змушує використовувати посилання на неї, це застерігає від проблем, коли ми її оновляємо, проте десь є інша така ж модель, яку ми не оновили