Search
Write a publication
Pull to refresh
2
2
Send message

спасибо большое за оценку - добавил изменения в селекторе , уже запушил и документации подправил, сейчас эту статью изменю:


//до:
store.get((t) => store.$.board[t(row)][t(col)])
store.get(() => store.$.user.age)

//после:
store.get(($, t) => $.board[t(row)][t(col)])
store.get(($) => $.user.age) 

и в правду так лучше стало , а то "store" может иметь любое название , и тогда из-за длинного название плохая будет читабельность.

На счет  store.user.age = 5 - разработчики сами должны решать, работать ли напрямую с proxy-объектом store.$ или использовать систему подписок.

Я ни раз писал о типобезопасных строках в этой статье , в оф. документации все расписано @qtpy/state-management-observable  .
если вы опечатаетесь store.update('user.agesdfsdfs', 5) вам выдаст ошибку

Да я с вами полностью солидарен однозначно что сигналы это очень хороший инструмент и удобный , и на счет громких слов. Но не все его могут использовать или интегрировать без последствий. Некоторые разработчики — включая команду React — считают, что сигналы нарушают базовые принципы реактивной архитектуры, особенно при конкурентном рендеринге. Есть опасения, что они ломают однонаправленный поток данных, напоминают старые решения вроде KnockoutJS и могут усложнить масштабирование крупных приложений. Поэтому, несмотря на свою эффективность, сигналы подходят далеко не всем — особенно в проектах с высокими требованиями к стабильности и предсказуемости.


Я показывал несколько вариантов и специально сделал так чтобы у разработчиков был выбор чтобы каждый мог использовать ту парадигму обновления состояния, которая ближе к их архитектурным предпочтениям или привычкам команды — будь то прямые мутации через proxy, более декларативные обновления через строковые пути с поддержкой typescript, или гибкие селекторы, обеспечивающие точечный контроль.

Вы можете свойствами на прямую взаимодействовать через proxy store.$.user.age = 5 или через систему подписок при помощи строковых путей store.update('user.age', 5) или же при помощи селекторов как в простонародье называется sotre.update(() => store.$.user.age, 4) или store.update((t) => store.$.items[t(index)] , 2)

Information

Rating
2,727-th
Registered
Activity