Size: a a a

2020 December 25

МТ

Марк Танащук... in Svelte [svelt]
Или их как-то в объекте держать - короче хз
источник

DK

Dan Kozlov in Svelte [svelt]
Марк Танащук
А для bind:this нужно переменные плодить ж
А для экшенов — функции. Не, дело твоё.
источник

МТ

Марк Танащук... in Svelte [svelt]
Dan Kozlov
А для экшенов — функции. Не, дело твоё.
А по изменению переменной первызывать код?
источник

МТ

Марк Танащук... in Svelte [svelt]
С bind:this как понимаю можно единожды
источник

DK

Dan Kozlov in Svelte [svelt]
Марк Танащук
А по изменению переменной первызывать код?
bind:this байндит реф после маунта, поэтому первое значение у него всегда undefined. Поэтому я всегда работу с рефами пишу в реактивных блоках.
источник

МТ

Марк Танащук... in Svelte [svelt]
Dan Kozlov
bind:this байндит реф после маунта, поэтому первое значение у него всегда undefined. Поэтому я всегда работу с рефами пишу в реактивных блоках.
От реактивности бандл начинает пухнуть
источник

МТ

Марк Танащук... in Svelte [svelt]
10 блочков - плюс несколько кб
источник

МТ

Марк Танащук... in Svelte [svelt]
Не помню когда тестил
источник

DK

Dan Kozlov in Svelte [svelt]
Щито
источник

МТ

Марк Танащук... in Svelte [svelt]
Dan Kozlov
Щито
Исходники поищу сейчас
источник

DK

Dan Kozlov in Svelte [svelt]
Ну, попробуй вот этот код с экшеном воспроизвести и получить меньший бандл. Я хз, что выйдет, но вряд ли разница будет существенная, если будет хоть какая-то. Экономия на спичках.

https://svelte.dev/repl/cc5c82862004482c8e04320cd6ab70b9?version=3
источник

DK

Dan Kozlov in Svelte [svelt]
Там в буквальном смысле всё, что добавляется в бандл — это
$$self.$$.update = () => {
   if ($$self.$$.dirty & /*ref*/ 1) {
     $: ref && $$invalidate(0, ref.style.color = "red", ref);
   }
 };

Ну, то есть, по минимуму совершенно.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Dan Kozlov
Ну, попробуй вот этот код с экшеном воспроизвести и получить меньший бандл. Я хз, что выйдет, но вряд ли разница будет существенная, если будет хоть какая-то. Экономия на спичках.

https://svelte.dev/repl/cc5c82862004482c8e04320cd6ab70b9?version=3
<script>
let color = ref => ref.style.color = 'red';
</script>

<h1 use:color>Hello world!</h1>
источник

МТ

Марк Танащук... in Svelte [svelt]
Не нашел :(
источник

A

Arushwl in Svelte [svelt]
https://svelte.dev/repl/d7680b8f5aee4d86846b0982e6c0c01d?version=3.31.0

усложнил малость - как на reload начинать отсчет loadedItems с 0 ?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Мне в рефах не нравится что они размазываются по компоненту. Экшены всегда более изолированы, то что называется co-location
источник

МТ

Марк Танащук... in Svelte [svelt]
Может это из-за бабеля пух из-за реактивности бандл?🤔
источник

МТ

Марк Танащук... in Svelte [svelt]
Хз
источник

DK

Dan Kozlov in Svelte [svelt]
Pavel 🦇 Malyshev
<script>
let color = ref => ref.style.color = 'red';
</script>

<h1 use:color>Hello world!</h1>
Ну и? У тебя ж в итоге разница в бандле ж на грани стат.погрешности. Там импортируется binding_callbacks, тут — action_destroyer. Там фрагмент короткий, тут — длинный. А если рантайм весь реюзается, то всё это ни на что и не влияет в итоге особо.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Dan Kozlov
Ну и? У тебя ж в итоге разница в бандле ж на грани стат.погрешности. Там импортируется binding_callbacks, тут — action_destroyer. Там фрагмент короткий, тут — длинный. А если рантайм весь реюзается, то всё это ни на что и не влияет в итоге особо.
На бандл пофиг. Код приятнее для меня и даже чуть короче
источник