我在vuex内部存储了一个创建帖子的功能。该函数返回一个uuidv4()
中带有唯一uuid的json对象。但是,如果我两次(或多次)运行该函数,则会得到相同的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
答案 0 :(得分:0)
解决了我的问题。我添加了一个无需创建页面即可创建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)
)
}