Size: a a a

2021 February 14

A

Arushwl in Svelte [svelt]
Либа 1 компонент
источник

A

Arushwl in Svelte [svelt]
Dan Kozlov
Саспенс нужен для другого. Александр может поправить, потому что я не огромный спец и его не щупал сам, но он:
а) грузит код компонента
б) грузит данные для компонента
в) делает это для всего нижестоящего дерева, а не на один уровень вниз (?)
г) умеет всё это грузить в параллели

Мне кажется, что сделать нечто suspense-подобное можно и на свелте, но сейчас это потребует много бойлерплейта.
в) и г) не понял ... а первые 2 viewpoint умеет.

Можешь пояснить про все нижестоящее дерево и параллели?
источник

DK

Dan Kozlov in Svelte [svelt]
На самом деле, viewpoint использует тоже директиву {#await}, а она не умеет делать пункта 2.
Как это работает в свелте: ты загрузил компонент, маунтишь компонент, при маунте он фетчит свои данные, а если ему нужны еще другие компоненты, то он фетчит их. И так бесконечно вниз, из-за чего создаётся водопад запросов.

Как это работает в саспенсе: ты грузишь компонент, а параллельно этому фетчатся все данные и сами компоненты в поддереве вниз. Без водопада, а просто одновременно.
Там следующее сообщение в том треде от Александра было как раз про то, что Relay умеет еще со всего поддерева собирать запросы на данные для GraphQL в один, чтобы вместо 30 параллельных, но отдельных походов за данными, получался всего один.
источник

AP

Alexander Ponomarev in Svelte [svelt]
Dan Kozlov
На самом деле, viewpoint использует тоже директиву {#await}, а она не умеет делать пункта 2.
Как это работает в свелте: ты загрузил компонент, маунтишь компонент, при маунте он фетчит свои данные, а если ему нужны еще другие компоненты, то он фетчит их. И так бесконечно вниз, из-за чего создаётся водопад запросов.

Как это работает в саспенсе: ты грузишь компонент, а параллельно этому фетчатся все данные и сами компоненты в поддереве вниз. Без водопада, а просто одновременно.
Там следующее сообщение в том треде от Александра было как раз про то, что Relay умеет еще со всего поддерева собирать запросы на данные для GraphQL в один, чтобы вместо 30 параллельных, но отдельных походов за данными, получался всего один.
пока оно там еще никак нормально не работает, его не выпустили для датафетча =)
источник

DK

Dan Kozlov in Svelte [svelt]
А бете же работает. Я уже даже интерактивные демки видел.
У реакта такие беты, что у некоторых библиотек стейбл-релиз хуже.
источник

A

Arushwl in Svelte [svelt]
Dan Kozlov
На самом деле, viewpoint использует тоже директиву {#await}, а она не умеет делать пункта 2.
Как это работает в свелте: ты загрузил компонент, маунтишь компонент, при маунте он фетчит свои данные, а если ему нужны еще другие компоненты, то он фетчит их. И так бесконечно вниз, из-за чего создаётся водопад запросов.

Как это работает в саспенсе: ты грузишь компонент, а параллельно этому фетчатся все данные и сами компоненты в поддереве вниз. Без водопада, а просто одновременно.
Там следующее сообщение в том треде от Александра было как раз про то, что Relay умеет еще со всего поддерева собирать запросы на данные для GraphQL в один, чтобы вместо 30 параллельных, но отдельных походов за данными, получался всего один.
Спасибо
источник

AP

Alexander Ponomarev in Svelte [svelt]
ну абрамов в подкасте сказал что у фейсбука конкурентный режим уже год в проде работает и они просто фиксят баги, какие-то косяки и убирают лишние закрученные гайки
источник

DK

Dan Kozlov in Svelte [svelt]
Arushwl
Все что в ней, всё одно писать самому, что бы могло так же 🤷🏻‍♂️
Прямо-таки и всё? И ожидание между фетчами нужно, и прелоад для саппера? Это все фичи за пределами тех, что предоставляет бесплатно и без сторонних компонентов простой {#await}{:then}{:catch} :)
источник

A

Arushwl in Svelte [svelt]
Dan Kozlov
Прямо-таки и всё? И ожидание между фетчами нужно, и прелоад для саппера? Это все фичи за пределами тех, что предоставляет бесплатно и без сторонних компонентов простой {#await}{:then}{:catch} :)
Я не нахожу для своего кейса этот компонент избыточным. Наоборот 👌🏻
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Arushwl
Кстати во viewpoint есть что-то типа suspense... слот waiting такой...
Не этот слот показывает альтернативный loading контент, если на загрузку компонента потребовалось больше времени, чем установлено. Типа «подождите ещё не все потеряно». Запятые расставить в зависимости от желаемого смысла 😉
источник

A

Arushwl in Svelte [svelt]
Ага. Как раз прочитал доку 😁
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Dan Kozlov
Саспенс не про это.
Да, viewpoint это обычный loadable с preload как в саппере. Лично мне его чаще всего хватает, но я и не фанат подхода саспенса
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кстати есть ещё svelte-loadable
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
У него тоже есть своих крутые фишки, которые я возможно тоже затащу к себе
источник

A

Arushwl in Svelte [svelt]
Так чтоб гладко все было есть смысл даже типы контента мониторить... думаю img буду слушать и после их загрузки отображать страницу...
источник

A

Arushwl in Svelte [svelt]
Pavel 🦇 Malyshev
Не этот слот показывает альтернативный loading контент, если на загрузку компонента потребовалось больше времени, чем установлено. Типа «подождите ещё не все потеряно». Запятые расставить в зависимости от желаемого смысла 😉
Хорошо бы конечно не тайминги а хуки...🤔
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Dan Kozlov
На самом деле, viewpoint использует тоже директиву {#await}, а она не умеет делать пункта 2.
Как это работает в свелте: ты загрузил компонент, маунтишь компонент, при маунте он фетчит свои данные, а если ему нужны еще другие компоненты, то он фетчит их. И так бесконечно вниз, из-за чего создаётся водопад запросов.

Как это работает в саспенсе: ты грузишь компонент, а параллельно этому фетчатся все данные и сами компоненты в поддереве вниз. Без водопада, а просто одновременно.
Там следующее сообщение в том треде от Александра было как раз про то, что Relay умеет еще со всего поддерева собирать запросы на данные для GraphQL в один, чтобы вместо 30 параллельных, но отдельных походов за данными, получался всего один.
Хм, а реально сам компонент и данные грузятся параллельно? 🤔 тогда как же это на чанки разбито? Или саспенс ещё и вебпаку мозг крутит?
источник

DK

Dan Kozlov in Svelte [svelt]
Pavel 🦇 Malyshev
Да, viewpoint это обычный loadable с preload как в саппере. Лично мне его чаще всего хватает, но я и не фанат подхода саспенса
Мне в целом тоже. У меня вообще офлайн-фёрст с ленивой синхронизацией, поэтому мне оно вообще нужно в одном месте, где иначе слишком много кода грузится одним чанком, что приводило к некоторому пролагу.

Но я очень легко представляю, что саспенс — это офигенно для больших проектов.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Arushwl
Хорошо бы конечно не тайминги а хуки...🤔
Коллбек имеешь ввиду?
источник

DK

Dan Kozlov in Svelte [svelt]
Pavel 🦇 Malyshev
Хм, а реально сам компонент и данные грузятся параллельно? 🤔 тогда как же это на чанки разбито? Или саспенс ещё и вебпаку мозг крутит?
Заявляется, что да. Подробнее не ко мне, я даже близко к нему не подходил, это у @volodya11let надо уточнять.
источник