Home > Mobile >  Uncaught TypeError: setting getter-only property "selectedProjectId"
Uncaught TypeError: setting getter-only property "selectedProjectId"

Time:10-08

Trying to set this variable to an element's id number, but I can't make sense of this error statement.

{Uncaught TypeError: setting getter-only property "selectedProjectId"}

I declared the variable here.

const LOCAL_STORAGE_LIST_KEY = 'project.lists';
const LOCAL_STORAGE_SELECTED_LIST_ID_KEY = 'project.selectedProjectId';
const projects = JSON.parse(localStorage.getItem(LOCAL_STORAGE_LIST_KEY)) || [];
const selectedProjectId = localStorage.getItem(LOCAL_STORAGE_SELECTED_LIST_ID_KEY);

function save() {
    localStorage.setItem(LOCAL_STORAGE_LIST_KEY, JSON.stringify(projects));
    localStorage.setItem(LOCAL_STORAGE_SELECTED_LIST_ID_KEY, selectedProjectId);
}

export {
    projects,
    save,
    selectedProjectId,
}

I try to assign it a different value here.

projectList.addEventListener('click', e => {
    if (e.target.tagName.toLowerCase() === 'li') {
        console.log(e.target.dataset.projectId);
        console.log('works');
        selectedProjectId = e.target.dataset.projectId;
        saveAndRender();
    }
});

I'm following webdev simplified's tutorial on a better to-do-list in js. I'm following pretty closely, but mine keeps throwing the type error. How do I fix this? Any advice would be helpful. For more clarification, I am also using webpack if that is important.

CodePudding user response:

const cannot be assigned to a new value. Use let instead.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const

  • Related