Size: a a a

Svelte [svelt] - All about Svelte JavaScript framework.

2021 October 03

КС

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

MZ

Misha Zamkevich in Svelte [svelt] - All about Svelte JavaScript framework.
источник

КС

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

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
В этом то разобрались. И почему не срабатывает реактивность тоже разобрались. Для меня одно теперь непонятно - то что при obj2 = obj1, obj2.foo = 'new',   реактивность  показывает старое значение obj1.foo - это ожидаемое поведение или нет.
источник

КС

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

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
Но мы же поменяли obj2 через obj2 = obj1.

Короче, походу я совершенно запутался. Надо делать паузу и идти пить кофе.
источник

КС

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

КС

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

КС

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

function changeVar(anyObj) {
 anyObj.something = 123;
}

changeVar(scriptScopeVar);


scriptScopeVar не дёрнется
источник

MS

M S 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.
можно там где store2 = store1 потом написать store1 = store1
тоже будет ок
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
Ну да. Вот только я какого-то черта ожидал что реактивность будет срабатывать при изменении реального объекта а не только по выражению obj = ...
источник

КС

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

ab

a b in Svelte [svelt] - All about Svelte JavaScript framework.
Это то, что я начал делать еще год назад, описывая все через эффектор
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
В общем понял в чем моя ошибка.

Я ожидал что раз

obj1 = &object1;
obj2 = &object2;

obj2 = obj1;

То свелт сообразит что obj2 и obj1 ссылаются на один обьект, *obj2 и *obj1 это одно и тоже и запустит реактивность в любом случае.
источник

КС

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