Size: a a a

2020 November 26

A

Arushwl in Svelte [svelt]
@PaulMaly помнится ты рассказывал об этом, вот бы живой пример или даже как идея для статьи🤔
источник

AP

Alexander Ponomarev in Svelte [svelt]
Arushwl
@PaulMaly помнится ты рассказывал об этом, вот бы живой пример или даже как идея для статьи🤔
я не знаю какой надо быть квалификации чтобы не найти и не понять из всей существующей информацией на сайте с документацией как запустить свелт виджет на своей странице
источник

A

Arushwl in Svelte [svelt]
Alexander Ponomarev
я не знаю какой надо быть квалификации чтобы не найти и не понять из всей существующей информацией на сайте с документацией как запустить свелт виджет на своей странице
По идее много чего непонятного есть... но реального гайда с таким кейсом нету🤷🏻‍♂️
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
Однако для реального мира эта концепция практически не жизнеспособна, потому что не все так просто.


Согласен, я и не утверждал обратного )

 Кроме того, не согласен с тем, что в реакте компонент ререндерится всегда.


Разумеется, я же для простоты так сказал. )

Почему людям кажется что тело <script> это обязательно эквивалент методу render не понятно. 


Как раз не кажется. Просто не вполне понятно, как именно это работает. Не так прозрачно, как в реакте (при этом я не утверждаю, что в реакте збс и всё прям кристально прозрачно; я говорю, в сравнении).

реактивщина в свелт сделана ну просто для детей.


Согласен. Я же не про использование говорю, а про то, как это работает внутри. Из-за того, что не хватает понимания, не знаешь, как делать оптимально и в самых сложных кейсах не понимаешь, что именно может тебя подвести и где вылезет подводный камень. Я много сложных штук делал с запутанными мат. моделями. Знаю, насколько сложными могут быть внутренности при внешней простоте и кажущейся понятности. (Хотя поэтому у меня есть дурацкая привычка ожидать/подозревать сложность там, где её может и не быть, когда не раскопал до конца).

Бывают двойные срабатывания реактивных выражений.


Ну да, я о том же. Это отсылка к одному из последних ишаков 3.30.0

А запомнить кстати очень просто - компонент свелт САМ не пересоздается/перезапускается... never

Ну сам-то - понятно ) Вот на кейсах бы понять.

```Благословляю тебя использовать get))) Никакой такой оптимизации там сломать невозможно. Нужно просто понимать, что если тебе значение нужно разово и "по месту" то создание и снятие подписки ничего не стоят. А если тебе значения нужны постоянно, часто и тп, тогда нет смысла не использовать одну подписку долго.```

)))) Успокоил, спасибо )
 Я много сложных штук делал с запутанными мат. моделями. Знаю, насколько сложными могут быть внутренности при внешней простоте и кажущейся понятности.

На самом деле часть проблем свелт связана с тем, что они пытаются делать не только использование свелт простым, но и внутренние вещи по принципу KISS. Из-за этого с одной стороны, в сгенерированном коде очень просто разобраться, с другой стороны приходится подкручивать инструменты под свои нужны в user-land, как с теми же $ или работой с объектами. С другой стороны, даже если не подкручивать, все равно с большинстве случаев это не так критично сказывается на работе приложения, как если например не подкручивать реакт.

Ну да, я о том же. Это отсылка к одному из последних ишаков 3.30.0

Напомни плиз какой именно? Вообще обычно двойные срабатывания $: вполне очевидно происходят.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кстати, если кто вдруг смотрит HolyJS Online, то приходите на мой доклад про кишочки: https://holyjs-moscow.ru/2020/msk/talks/4ybbmkadzr1y6id9fizj6f/
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
там кстати Илья Климов будет в качестве приглашенного эксперта. Видимо расскажет свои 3 истории о свелт )))
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
@Constantine2017

Ну сам-то - понятно ) Вот на кейсах бы понять.

Какие именно кейсы то? Тут кейс один - когда вышестоящий компонент его демонтирует и монтирует обратно. Например так:

{#if cond}
 <Nested />
{/if}
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Mikluha Mclay
да, я вытащил это все на $: if (value) {}, но это как-то так себе выглядит
если нужно на изменение чекбокса запускать функцию, то это наиболее верный путь:

$: checked && foo();
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Arushwl
На мой взгляд on:change тут лишний, достаточно из bind:checked получать стейт
он не просто лишний, он тут вредный
источник

К

Константин in Svelte [svelt]
Pavel 🦇 Malyshev
@Constantine2017

Ну сам-то - понятно ) Вот на кейсах бы понять.

Какие именно кейсы то? Тут кейс один - когда вышестоящий компонент его демонтирует и монтирует обратно. Например так:

{#if cond}
 <Nested />
{/if}
Я не про маунт-анмаунт, а вообще все ) ну ладно, я лучше как освобожусь - все перечитаю еще раз и попробую точнее объчснить, где белые пятна )
источник

IG

Ilya Gladko in Svelte [svelt]
Я вообще не понял зачем. То есть не как обычно, а совсем. Зачем?
источник

AP

Alexander Ponomarev in Svelte [svelt]
Arushwl
По идее много чего непонятного есть... но реального гайда с таким кейсом нету🤷🏻‍♂️
ну да можно было на первом экране кроме дегита показать, но в целом эта инфа ищется и гуглится без проблем
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
Я не про маунт-анмаунт, а вообще все ) ну ладно, я лучше как освобожусь - все перечитаю еще раз и попробую точнее объчснить, где белые пятна )
так это единственный кейс когда свелт пересоздает компонент. в остальных случаях только пропсы и реактивность и тем script больше не выполняется
источник

К

Константин in Svelte [svelt]
Pavel 🦇 Malyshev
он не просто лишний, он тут вредный
А почему вредный, кстати?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
А почему вредный, кстати?
потому что под копотом bind: также создается ивент лисенер и их последовательность исполнениня не очевидна. кроме того bind: форматирует значение под тип и всякие спец штуки делает для чекбоксов и селектов
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
если уж юзаешь bind то определять что значение изменилось надо не через ивент, а через $:
источник

К

Константин in Svelte [svelt]
Pavel 🦇 Malyshev
так это единственный кейс когда свелт пересоздает компонент. в остальных случаях только пропсы и реактивность и тем script больше не выполняется
Т.е. стэйт компонента не сохраняется? Или сохраняется? Что происходит при этом с const, let при этом, к примеру. И т.п. Т.е. более глубокие вещи. Поверхностные-то понятны
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
нежинеспособными технологиями пользуются слак, дискорд, жира, ютрек, ньюйорк таймс, яндекс, медуза. Мучаются бедные непонимают что идея то нежизнеспособная у их ключевой либы) Да и 70% рынка тоже чет не шарит. видимо не в реальном мире существуют)
я говорил не про сам реакт, а про конкретную концепцию. 200% что у всех этих компаний UI не просто функция от стейта
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
Т.е. стэйт компонента не сохраняется? Или сохраняется? Что происходит при этом с const, let при этом, к примеру. И т.п. Т.е. более глубокие вещи. Поверхностные-то понятны
если анмаунт происходит? конечно все херится
источник

К

Константин in Svelte [svelt]
Pavel 🦇 Malyshev
если анмаунт происходит? конечно все херится
А потом заново начитывается из пропсов и биндов?
источник