немного поправил пример от
Vetro, рекомендую делать так. все юниты виджета находятся в корне, не пересоздаются каждый раз, а сам виджет пишется как обычный ssr компонент
https://codesandbox.io/s/festive-knuth-2htt0?file=/src/node-modules/my-widget.tsxпри этом есть два ограничения:
1) полный запрет на императивные вызовы эвентов внутри ватчей/эффектов; видя эту задачу я уже представляю, как могу это решить, но пока так
2) любые связи виджета с внешним миром обязаны формироваться после форка для каждого конкретного инстанса отдельно (пример — в функции createWidget). это связано с тем, что тут нам необходимо предотвратить клонирование внешних сущностей, а форк при работе обходит все связи какие найдёт