это синглстор с плюсами мультистора?
См. ситуация в мультисторах (часто их за это любят)
const store1 = new Store()
const store2 = new Store()
...
const store100 = new Store()
const store1.subscribe(() => {})
const store2.subscribe(() => {})
Каждый стор имеет свою очередь подписок, за счёт чего оповещение подписчиков банально быстрее происходит (меньше функций вызывать). Это касается всех мультисторов.
Вот пример плохой ситуации с синглстор в Redux (одно из самых слабых мест), т.к. создаётся одна очередь подписок которая дёргается на каждое изменение стора.
const store = createStore()
store.subscribe(() => {})
store.subscribe(() => {})
// etc
store.subscribe(() => {})
Вот кейс как это в Reatom выглядит
const store = createStore()
store.subscribe(UserAtom, () => {})
store.subscribe(CartAtom, () => {})
// etc
store.subscribe(ProductsAtom, () => {})
В сторе каждый атом имеет свои очедери подписок, за счёт чего доставка данных осуществляется за минимальное кол-во шагов. Тоже самое касается и обработки данных, т.к. экшены подадают сразу в нужные обработчики (а не пронизывают ВСЕ редьюсеры, как редакс)
спасибо за подробное объяснение
минус этого - тригер? какие еще есть недостатки моностора?
Обсуждают сегодня