один и тот же uuid два раза + Vuex + uuidv4 () - PullRequest
0 голосов
/ 01 апреля 2019

В моем магазине Vuex есть функция для создания сообщения.И функция возвращает объект json с уникальным uuid из uuidv4().Но если я запускаю функцию два раза (или больше), я получаю один и тот же uuid, и это проблема.(Только при перезагрузке страницы я получаю новый uuid).

// store.js
import uuidv4 from 'uuid/v4';
var uuid = uuidv4();
const state = {
  postDetails: {
    ...
    uuid:  uuid,
    ...
  }
}

const actions = {
  post ({state}) {
    var postArray = []
    postArray.push(state.postDetails)
    // some axios stuff...
  }
}

Так что все работает отлично.Основная проблема - это uuid, который не меняется после вызова функции.

Я использую vuex-persistedstate также

1 Ответ

0 голосов
/ 01 апреля 2019

для тех, кому это нужно

Решил мою проблему.Я добавил функцию, которая создает uuid без перезагрузки страницы.

function uuidv44() {
  return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
    (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
  )
}

С помощью этого сайта Создать GUID / UUID в JavaScript?

...