es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Sveltekit – ¿Cómo acceder a un “contexto reactivo” (un almacén pasado a través del contexto) en la etiqueta Script de un componente hijo?

Estoy inicializando una Clase en la función onMount de un componente Wrapper padre y quiero exponerla a todos los hijos. Actualmente estoy utilizando un almacén modificable que establezco en la Clase en la función onMount.

let classA;

let classStore = writable(classA);

setContext('classContext', classStore);

onMount(async () => {
    const module = await import('library');
    const ClassInQuestion = module.default;

    classA = new ClassInQuestion();

    classStore.set(classA);
})

En un componente hijo intentaría acceder al contexto de la siguiente manera:

const myContext = getContext('classContext');
console.log($myContext) //esperado: class

Lo que obtengo es indefinido hasta que vuelvo a renderizar el componente.

He replicado una versión simplificada del problema en este Stackblitz. Como puedes ver, el contexto se llama correctamente con getContext, pero en la etiqueta