альтернативу createPortal из реакта, кто знает, как аналогично это можно реализовать?)
https://madewithsvelte.com/svelte-portal библиотекой лучше
https://gist.github.com/EricRovell/f2bbeb5c4bfa172c3818c38520fced23
Кстати, попапы можно императивно делать, если не нужны слоты (хотя и компоненты можно передавать, если сильно хочется) примерно по такому алгоритму: 1. создать компонент ("шина порталов"), который будет встраиваться в корневой компонент приложения 2. экспортировать из context=module функцию отображения попапа, которая будет добавлять его в массив-стор или другую наблюдаемую коллекцию 2.1. запланировать вырезание попапа из коллекции таймаутом 3. в компоненте через {#each} перебрать все текущие порталы 4. можно добавить транзишены и т.п. Или же не делать порталы вообще, а создать компонент с абсолютным позиционированием. Но особенность position:absolute в том, что корень его ректа это ближайший отпозиционированный родитель, так что ненадёжно
Ой, с абсолютами я столько игрался, столько для себя нашел косяков с ним, это ужас, про стор да, была идейка, еще когда на реакте писал, но как-то менее логично работает, как по мне
Стор чисто внутренний. Это способ общения между интерфейсом js-модуля и свелт-компонентом, который рендерит тосты и т.п.
Тут кстати вроде и не нужен то массив, достаточно просто переменной, хранящей модалку, я так понял, сначало именно попап имелся ввиду тут
Обсуждают сегодня