javascript - 在 Vuex 突变中使用 `Vue.nextTick` 是否违反惯例?它会破坏什么东西吗?

标签 javascript vue.js vuex

据我所知,Vuex 中的突变应该是同步的。如果我理解正确的话,Vuex.nextTick 最终会是异步的。那么它是否违反了在突变中使用它的惯例?它能打破什么东西吗? 我已经尝试过这样做,并且似乎工作正常,但我还没有尝试使用开发工具返回到之前的状态。

只是想让你知道:我使用 nextTick 来推迟一些排序,以避免不必要的多次排序。也许您对这个问题还有其他解决方案?我知道我可以使用一个操作而不是突变,但我想将我已经拥有的一些操作更改为突变,因为这对我来说似乎是一个更好的选择,但他们使用了这段代码。

最佳答案

在突变中使用 nextTick 可以有效地将代码移到突变之外,因此您会在严格模式下收到错误,并且 Devtools 无法跟踪更改。

此外,nextTick 直到下一轮渲染之后才会运行,因此您将渲染多次。

如果可能,请使用 getter 来代替排序列表。

关于javascript - 在 Vuex 突变中使用 `Vue.nextTick` 是否违反惯例?它会破坏什么东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64041251/

相关文章:

javascript - 平滑滑动 HTML div 相互替换

javascript - 每次我换回路由器时如何初始化我的组件?

vue.js - vuex - 即使不推荐,是否可以直接更改状态?

axios - 使用多个请求刷新访问 token

vue.js - 重新加载时Vue路由器重定向到主页

javascript - 使用 Node JS 16 在 DiscordJS 13 上创建嵌入消息 - Discord Bot

javascript - 有没有一种巧妙的方法可以使元素 float 以创建具有可扩展元素的网格,而不会使用 HTML/CSS/JS 浪费太多空间?

javascript - 视觉 : how to set image property as an src attribute on an async object

javascript - 使用 Vue.js API 获取数据时无响应或错误

javascript - JS : Why does function declaration order matter when inside a conditional block?