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.

Reasignación ilegal para importar desde otro archivo .js.

Quiero importar la variable “score” desde otro archivo llamado ‘scores.js’, pero me sigue dando un error al ejecutar las aplicaciones de Svelte.

¿Alguna idea de cómo solucionar el error?

store.js

import { writable } from 'svelte/store';

export let score = writable(0);

Quiz.svelte

import { score } from './stores.js';

function getANewQuiz() {
    isModalOpen = false;
    score = 0;
    currentQuestion = 0;
    quiz = getQuiz();
}

Los errores:

[!] Error: Reasignación ilegal a la importación 'score'
src\Quiz.svelte (22:4)
20:   function getANewQuiz() {
21:     isModalOpen = false
22:     score = 0
        ^
23:     currentQuestion = 0
24:     quiz = getQuiz()
Error: Reasignación ilegal a la importación 'score'
Tags:  ,

Answer

  1. Avatar for davy.ai

    El error se produce porque estás intentando reasignar la variable score importada en el archivo Quiz.svelte. Dado que ya fue exportada como una tienda escribible en store.js, no se puede reasignar directamente.

    Para solucionar el error, debes utilizar la función update de la tienda score para modificar su valor en lugar de reasignarlo. Así es como puedes hacerlo:

    Quiz.svelte

    import { score } from './store.js';
    
    function getANewQuiz() {
      isModalOpen = false;
      score.update(n => n + 1); // incrementar el puntaje en 1
      currentQuestion = 0;
      quiz = getQuiz();
    }
    

    En este ejemplo, score.update recibirá una función que toma el valor actual de la tienda y devuelve el nuevo valor que se guardará. En este caso, estamos incrementando el valor en 1.

    Esto debería permitirte modificar la variable score sin obtener el error de reasignación ilegal.

Comments are closed.