Как сохранить позиции постов при их перемещении, когда обновляется страница?

дорогие друзья!
Делаю тех задание на vue, где есть пункт:

тех задание

Сперва получал эти посты с localstorage, где я мог успешно менять посты местами с сохранением позиций.
Сейчас, Я получаю эти посты уже с firebase database и их позицию тоже пытаюсь сохранить в localstorage, и при обновлении в первые миллисекунды посты на стоят где надо, но у меня уходит запрос на firebase, и посты снова становятся в тот порядок, в котором они прилетели с сервера.

Мне необходимо, чтоб посты прилетали с сервера, их позиции по id отправлялись в localstorage или как удобнее, но чтоб Я смог перетаскивать их и это все сохранялось так, как описано в тех задании (сверху) локально.

Вот запрос на firebase во vuex:

    async fetchPosts({ commit }) {
      try {
        const response = (await firebase.database().ref(`/posts/`).once("value")).val() || {};

        const posts = Object.keys(response).map((key) => ({
          id: key,
          ...response[key],
        }));

        return posts;
      } catch (e) {
        commit("setError", e);
        throw e;
      }
    }

Делал мутацию типа:

pushPosts(state, posts) {
   state.posts = posts
}

Но она постоянно обновляла state при новом запросе на firebase. А запрос уходит при каждом обновлении.

Прошу помочь решить этот вопрос. Если появятся свои, то задавайте, распишу подробнее!
Благодарю и хорошего дня!


Ответы (0 шт):