Actualmente estoy trabajando con SvelteKit.
Tengo una tienda derived , que es necesaria porque depende de otra tienda. Ahora necesito cambiar algunos valores en la tienda derived directamente. El problema es que, según tengo entendido, las tiendas derived no son modificables.
¿Hay alguna forma de cambiar el valor de una tienda derived directamente?
Por ejemplo, si tuviera una tienda derived llamada tiles que es una matriz de objetos y me gustaría cambiar la propiedad de uno de sus objetos ( $tiles[n].x = 'something new' )
Puede hacer que se pueda escribir en una tienda derivada simplemente agregando una función set .
Necesitará acceder al objeto de origen del que se deriva el valor o fusionar el nuevo valor de una manera que conserve las referencias de objetos relevantes. (Aunque en el último caso, es posible que deba realizar una reasignación ficticia en la tienda principal para activar una actualización).
P.ej
const parent = writable({ items: [{ name: 'pochi' }, { name: 'maru' }]}); const items = derived(parent, value => value.items); items.set = newItems => $parent.items = newItems;