Size: a a a

Svelte [svelt] - All about Svelte JavaScript framework.

2021 September 14

PM

Pavel 🦇 Malyshev in Svelte [svelt] - All about Svelte JavaScript framework.
причем сразу между строк с обратной стороны ))
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
просто там разгон одного и того же в 100500 раз
источник

М

Максим in Svelte [svelt] - All about Svelte JavaScript framework.
он засланный казачок от реакта))
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt] - All about Svelte JavaScript framework.
за это и ценим)
источник

М

Максим in Svelte [svelt] - All about Svelte JavaScript framework.
надо дизинфу вкинуть, чтоб он там своим передал)
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt] - All about Svelte JavaScript framework.
нет никаких своих. он глубоко законспирированный 3-й агент ангуляра. он даже в чате реакт не сидит
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt] - All about Svelte JavaScript framework.
только никому не говори
источник

PM

Pavel 🦇 Malyshev 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.
Расстрелять! (с) Сталин
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt] - All about Svelte JavaScript framework.
“Шурик, это же не наш метод” (с)
источник

А

Александр in Svelte [svelt] - All about Svelte JavaScript framework.
Сложности с копированием объектов и массивов
Внизу я привёл 7 примеров работы с массивами. Все демонстрируют стандартное поведение из документации, кроме 7, где при изменении копии может изменится и оригинал.
Почему так? Массив копируется, а объекты в нём нет?
Как тогда правильно копировать сложные многоуровневые объекты (без использования JSON)?

let array = [1, 2, 3];
let temp = array;
temp[0] = 5; // изменяет и оригинал
console.log(1, JSON.stringify(array));
console.log(2, JSON.stringify(temp));

let array = [{ name: "val1" }, { name: "val2" }];
let temp = array;
temp[0] = 5; // изменяет и оригинал
console.log(1, JSON.stringify(array));
console.log(2, JSON.stringify(temp));

let array = [{ name: "val1" }, { name: "val2" }];
let temp = array;
temp[0].name = "qwe"; // изменяет и оригинал
console.log(1, JSON.stringify(array));
console.log(2, JSON.stringify(temp));

let array = [1, 2, 3];
let temp = [...array];
temp[0] = 5; // изменяет только копию
console.log(1, JSON.stringify(array));
console.log(2, JSON.stringify(temp));

let array = [{ name: "val1" }, { name: "val2" }];
let temp = [...array];
temp[0] = 5; // изменяет только копию
console.log(1, JSON.stringify(array));
console.log(2, JSON.stringify(temp));

let array = [{ name: "val1" }, { name: "val2" }];
let temp = JSON.parse(JSON.stringify(array));
temp[0].name = "qwe"; // изменяет только копию
console.log(1, JSON.stringify(array));
console.log(2, JSON.stringify(temp));

let array = [{ name: "val1" }, { name: "val2" }];
let temp = [...array]; // или Array.from(array), array.map(x => x), array.slice()
temp[0] = 5; // изменяет только копию
console.log(1, JSON.stringify(array));
console.log(2, JSON.stringify(temp));
temp[1].name = "qwe"; // изменяет и оригинал!
console.log(1, JSON.stringify(array));
console.log(2, JSON.stringify(temp));
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
import produce from 'immer';

const temp = produce(array, (draft) => { draft[0] = 5 })

https://immerjs.github.io/immer/
источник

EM

Eugene Mirotin in Svelte [svelt] - All about Svelte JavaScript framework.
Так потому, что массив не копируется, а создаётся новый объект-массив с теми же объектами-элементами внутри

То есть внутри нового массива находятся "ссылки" на те же объекты, что были созданы при создании старого

Решается в каждом случае в зависимости от задачи
Можно immer, как было предложено
Можно temp = arr.map(el => ({...el}))
Ну и самый корявый, но простой в написании — через JSON
источник

А

Александр in Svelte [svelt] - All about Svelte JavaScript framework.
Хорошо, спасибо
источник

К

Кирилл in Svelte [svelt] - All about Svelte JavaScript framework.
Привет всем, помогите пожалуйста понять предназначения ключа в циклах. Несколько раз прочитал документацию, не смог вдуплить.
источник

К

Кирилл in Svelte [svelt] - All about Svelte JavaScript framework.
Быть может какой-то практический пример, или типо того.
источник

AZ

Alexander Zinchenko in Svelte [svelt] - All about Svelte JavaScript framework.
https://svelte.dev/examples#keyed-each-blocks
смотрите раздел unkeyed
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
в документации и есть практический пример
источник

KK

Konstantin Kharitono... in Svelte [svelt] - All about Svelte JavaScript framework.
Привет. Что скажите про rxjs в svelte?
источник