🔥

Тред (Игорь Камышев)


Сейчас оно работает примерно так: каждый виджет получает маленький ивент-эммитер. В него можно бросать события, а можно читать.

Виджет может кидать-читать только «свои» события, то есть виджет никогда не зависит от другого виджета

А чтобы связать два виджета мы используем специальные функции (мы назвали их релейшнами), которые по сути мапят события одного виджета в события другого. Кроме мапинга они могут делать фильтрацию, тротлинг, да и вообще что угодно.

Релелейшн знает о двух виджетах и хранит всю логику их связи.

Сделал пример релейшна, чтобы было понятно что он делает. Этот уведомляет первый виджет об изменениях во втором.
notion image