Size: a a a

Svelte [svelt] - All about Svelte JavaScript framework.

2021 October 03

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
Прозрачно. Это что?
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
Ок. Но тогда почему в выражении
$: $foo = $bar
меняется $bar при изменении $foo?
При этом, при реактивном выводе  $bar показывает как не измененный?
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
Проще через два стейта в одном сторе реализовать. Но все равно, предыдущее поведение ни фига не логично и похоже на баг.
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
ща скину ишак, потому что так работает safe_not_equal
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
в кратце всё что есть в этом выражении, и foo и bar являются зависимостями
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
и если это не примитивные значения, то эта строчка будет запущена как только свелту покажется что что-то внутри поменялось
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
если это весь код и bar меняется при изменении foo это внатуре странно, недовникнул походу
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
Еще веселее ситуация.
в выражении
$: $foo = $bar
svelte какого-то черта делает
$bar = $foo при изменении $foo
но при этом через {$bar[0]} в шаблоне, показывает правильное неизмененное значение $bar

Похоже, лютый баг.
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
тот же репл наверху ?
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
да. https://ru.svelte.dev/repl/042b77d0a969400990765b06c5cf82a4?version=3.43.1

Сравните значения через реактивность и в консоле
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
Переделал вывод в консоли для большой наглядности
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
странная фигня
я бы мог понять если бы стор читался следующей строкой через get, т.к. автоподписки это вроде бы по сути

store.subscribe(v => $store = v)
и
$: store.set($store)
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
ну короче в консоли вроде всё правильно
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
а вот дом не проапдейтился
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
если я правильно понял
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
надо ещё иммутабельно попробовать
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
но там скорее всего будет работать
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
вот store.update точно бы не консоль логнуло правильно, но это не точно :D
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
а не, всё ок
источник