Estou tentando usar o SvelteMap: https://svelte.dev/docs/svelte/svelte-reactivity#SvelteMap
mas por algum motivo não é reativo.
Estou exportando de um arquivo .svelte:
export const items = new SvelteMap<number, Item>();
Item
é um objeto.
Então dentro de uma função eu altero o conteúdo, como:
const item = items.get(num);
item.someProp = newValue;
O mapa é atualizado, mas a reatividade não funciona nos componentes.
Eu também tentei reatribuir o item naquela função
const item = items.get(num);
item.someProp = newValue;
items.set(num, item);
ainda não deu certo..
O mapa não tornará seu conteúdo reativo, apenas suas próprias propriedades e métodos.
Portanto, os itens que você coloca no mapa precisam ter estado, por exemplo
Parque infantil
(Para objetos simples e matrizes,
$state
cria um wrapper proxy em torno do objeto que disparará sinais que acionam reatividade na mudança. Instâncias de classe com$state
propriedades também funcionariam.)Se você não puder tornar o item reativo (por exemplo, porque ele é de uma biblioteca separada), você pode encapsular a instância em um objeto e atribuir um novo encapsulador após a modificação para acionar a reatividade do mapa.
Parque infantil