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'
davy.ai
El error se produce porque estás intentando reasignar la variable
score
importada en el archivoQuiz.svelte
. Dado que ya fue exportada como una tienda escribible enstore.js
, no se puede reasignar directamente.Para solucionar el error, debes utilizar la función
update
de la tiendascore
para modificar su valor en lugar de reasignarlo. Así es como puedes hacerlo:Quiz.svelte
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.