如何使 Pinia 商店热重载更改?

2024-04-09

import { defineStore, acceptHMRUpdate } from 'pinia';
import { v4 as uuidv4 } from 'uuid';

export const useStoreNotes = defineStore('storeNotes', {
  state: () => ({
    notes: [
      {
        id: '8d3ce756-ef35-4e68-80bd-fb97e03a831b',
        content: 'Learn React',
      },
      {
        id: '11860d36-cb57-455e-9b9c-083ef5762f7e',
        content: 'Learn Java',
      },
    ],
  }),
})

if (import.meta.hot) {
  import.meta.hot.accept(acceptHMRUpdate(useStoreNotes, import.meta.hot));
}

嘿,我正在尝试使用 Pinia (Vuex5) 中的 HMR(热模块替换)。我也在用维特。我尝试使用 Pinia 官方文档中的 HOT 重载:https://pinia.vuejs.org/cookbook/hot-module-replacement.html https://pinia.vuejs.org/cookbook/hot-module-replacement.html

但热重载不起作用。如果我更新商店中的某些内容,我必须刷新页面,并且我想在不刷新页面的情况下查看更改。


看来您的语法正确。我的猜测是,像我一样,您希望在更改状态值时页面会更新;然而,HMR 似乎实际上正在按预期工作。看看这个问题的答案issue https://github.com/vuejs/pinia/issues/843:

是的,这个想法是添加新状态不应该重置状态的其他值,因此现有的状态值始终被保留。这也意味着您可以更改值、注释该行并保存(这将删除状态属性),然后取消注释并再次保存。

通过拉出终端并注意到我对商店的更新已记录,我能够认识到 HMR 确实正在工作。 参见示例我的终端 https://i.stack.imgur.com/hmvPQ.png.

同样,如果您向存储添加新状态,那么您应该在 Vue DevTools 中看到存储相应更新。这两种方法是我能够确定 HMR 是否按预期工作的方式(不幸的是,这不是我希望的那样)。

最后,正如上述GitHub问题的回复中提到的,您确实可以注释掉状态代码,保存,取消注释,然后再次保存以强制出现新值。我认为这并不理想,但我认为这是一个可行的解决方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使 Pinia 商店热重载更改? 的相关文章

  • VueJS/浏览器缓存生产版本

    我有一个 VueJS 应用程序 每当我跑步时npm run build它创建了一组新的dist 文件 但是 当我将它们加载到服务器上 删除旧版本后 并在浏览器中打开页面时 它会加载旧版本 我假设从缓存 当我刷新页面时 它加载新代码没有问题
  • Google 地点自动完成 Vue.js

    我正在尝试在 Vue js 中实现 Google Places Autocomplete The API 指出 https developers google com maps documentation javascript refere
  • vue/vuetify 模态模式或最佳实践设计

    在我正在开发的应用程序中 我们有很多模态 每个模态包含少量数据 通常是 2 3 个字段 有时是复选框 列表等 问题是当组件关闭时如何从内部重置 销毁组件 造成这种情况的原因有两个 1 不必清除每个模式上的各个数据字段 2 当第二次打开模式时
  • 如何在 Nuxt.js 中设置 beforeResolve 导航防护

    有没有办法在 nuxt config js 中添加 beforeResolve 导航防护 我的 nuxt config js module exports router beforeResolve to from next if this
  • Vite Vue 3 库构建并不隐式包含 dist/style.css

    我构建了一个库项目 Vue 3 Vite 我想通过以下方式将其包含在主机项目中package json 但我遇到了一个问题 我可以导入组件并使用这些导入的组件运行一个简单的程序 但它们的样式消失了 请让我知道我的配置有什么问题 当我必须手动
  • 同时使用 Vuetify 和 Vue-i18n 翻译

    我正在使用 Vuetify 想要添加我自己的按钮翻译 并使用 Vuetify 提供的翻译 我目前的 Vuetify 配置文件设置如下 import Vue from vue import Vuetify from vuetify impor
  • 使用 v-bind Vue.js 的多个变量

    我试图在以下代码中传递多个变量 div div 但我收到以下错误 Vue warn 无法生成渲染函数 SyntaxError 意外的标记 在 我尝试更换 with a 但我得到 Vue warn 无法生成渲染函数 SyntaxError I
  • Vue - API 调用属于 Vuex 吗?

    我正在努力寻找在 vue 模块中理想的 API 调用位置的答案 我不是在构建 SPA 例如 我的 auth 块有几个用于登录 密码重置 帐户验证等的组件 每个块都使用 axios 进行 API 调用 Axios 已经提供了异步的 Promi
  • Vue Cli 3 禁用代码分割 - 无法删除哈希文件

    我有一个vue config js设置效果很好 并取消了默认的代码分割 但它仍然输出一个 CSS 文件 其哈希值与具有好名称的 CSS 文件相同 我可以编写一个脚本来删除它 但我想知道是否有一种方法可以将文件设置为不输出带有哈希的CSS文件
  • 类型“CombinedVueInstance>>”上不存在属性“XXX”

    我使用 TypeScript 创建了一个 vue 组件 并且在以下位置收到此错误data and in methods Property xxx does not exist on type CombinedVueInstance
  • 如何使用 Vue 路由器从 Vuex 操作进行导航

    我正在使用 Vue 2 x 和 Vuex 2 x 创建一个 Web 应用程序 我正在通过 http 调用从远程位置获取一些信息 我希望如果该调用失败 我应该重定向到其他页面 GET PETS state gt return http get
  • 在 docker 容器内运行 vite 开发服务器

    我有一个 Vue cli 应用程序 我正在尝试将其转换为 vite 我正在使用 Docker 来运行服务器 我看了几个教程 并让 vite 在开发模式下运行 没有错误 但是 浏览器无法访问该端口 也就是说 当我在 macbook 的命令行上
  • 如何使用 VueJS router-link 活动样式

    我的页面当前有 Navigation vue 组件 我想让每个导航悬停并处于活动状态 这hover有效但是active没有 这是 Navigation vue 文件的样子
  • 如何使用 Core Data (iPhone) 存储 CLLocation?

    我试图保存一个位置 然后使用 Core Location MapKit 和 Core Data 框架在地图上检索该位置 我所做的只是创建了名为 POI 的实体 并添加了诸如纬度 双精度类型 经度 双精度类型 等属性以及其他一些属性 简而言之
  • 如何在 vue 组件的树视图中激活子类别?

    我有两个 vue 组件 我的第一个组件 父组件 如下所示
  • Vue Chart.js - 数据变化时图表不更新

    我正在使用 Vue js 和 Chart js 绘制一些图表 每次我调用该函数时generateChart 图表不会自动更新 当我在 Vue Devtools 中检查数据时 它们是正确的 但图表没有反映数据 但是 当我调整窗口大小时 图表确
  • 删除鼠标悬停时的 Vue 自定义过滤器

    我想使用 VueJS 2 删除鼠标悬停时的截断过滤器 这是模板中的过滤器 div class eng word english truncate div 这是过滤器本身 filters truncate function value let
  • 使用Vue组件渲染函数时无限循环

    我正在使用 Vue 组件来渲染一些表头 如下所示 render createElement return createElement div class header Array apply null length this initHou
  • 仅当内容超过两行时显示只读/隐藏按钮

    我正在创建一个评论部分 类似于 youtube 的东西 并且我希望能够在 content 有多行时显示阅读更多 隐藏按钮 这就是我到目前为止所做的 我的阅读更多 隐藏按钮可以工作 因为我添加了一个计算的线夹 使内容仅在存在多行时才显示两行
  • vue.js:观察输入并未在每次按键时触发

    我有一个input正在监视其模型属性 问题是每次按键时不会调用 watch 方法铬 安卓设备 如果我点击输入文本 就会调用它 过去确实有效 但我不知道发生了什么 在Chrome 桌面版可以正常使用 那就是watch for text每次按键

随机推荐

  • React Typescript Material-UI useStyles 不可调用

    由于某种原因 我无法调用 useStyles 因为它会出错 This expression is not callable Type never has no call signatures ts 2349 const useStyles
  • 工具栏后退单击在 Xamarin android 中不起作用

    我创建了带有后退箭头的工具栏 单击不起作用 toolbar FindViewById
  • 是否可以在 Access 2010 中创建视图?

    正如标题所说 能做到吗 我在 MSDN 页面上读到 这不受支持 但我的作业请求如何支持 可以吗 怎样才能做到呢 视图只不过是保存的 SQL SELECT 语句 这就是 Access 中保存的查询 当然 您也可以保存 DML SQL 语句 在
  • session.clear() 在 Hibernate 中如何工作

    我参考了很多文章 但我仍然不清楚什么session clear在休眠状态下执行 据我目前了解到的情况来看 当我们使用批量保存 更新时如下图 Session session SessionFactory openSession Transac
  • 由此可以得出 lambda 表达式吗?

    I know from f in list where f bar someVar select f 可以写成 list Where f gt f bar someVar 是否可以创建类似的表达式 from f in foo from b
  • 对对象列表进行排序的最简单方法

    我有一个 A 类型的对象列表 在第一次迭代中 我为每个对象分配一个双精度值 0 目前 我使用一个包装类来存储对象及其 x 值来制作可比较的列表 Scala 是否提供了一种数据类型 允许我执行以下操作 var result new Sorte
  • 附加到条形码应用程序中多个按钮的侦听器中出现异常

    好的 我正在开发一款内部条形码扫描仪 供我的公司在移动计算机和设备时使用 经过一番尝试和错误后 我目前几乎已经通过 Intent 设置了 Zxing 条码扫描仪 这就是我正在尝试做的事情 旁边三个EditText我有三个领域ImageBut
  • android AsyncTask xml解析

    我尝试在 AsyncTask 中解析一个大的 xml 文档 FeinstaubActivity 启动 但我只看到黑屏 然后返回到 RSSReaderActivity 从我启动另一个 Activity 的地方开始 Log DEBUG Sntp
  • 如何在gradle java构建脚本中访问环境变量

    如何在 gradle java 构建脚本中访问环境变量 用户级别或系统级别 我是 gradle 新手 我正在尝试使用 gradle 构建我的项目 目前我已经硬编码了第三方 jar 的路径 如下面的脚本所示 repositories flat
  • 首先在子级的父级上关闭alertDialog Android removeView()

    我想关闭 关闭警报对话框 但是当我单击按钮时valider我遇到了这个错误 我不知道哪些视图给我带来了问题 即使我的视图中没有方法删除视图 layout or v java lang IllegalStateException The sp
  • Imagick PHP 扩展 -- Montage 有帮助吗?

    我在使用 Imagick PHP 扩展生成图像时遇到了一些问题 一切工作正常 除了我的以下 蒙太奇 有白色背景 因此我不能将其覆盖在其他东西之上 如何生成具有透明背景的蒙太奇 Montage Icons gt montageImage ne
  • 如何在多租户系统中的 RabbitMQ 中使队列私有/安全?

    我已阅读开始使用 http www rabbitmq com getstarted htmlRabbitMQ 提供的指南 甚至还贡献了第六个示例暴风雨 amqp https github com paolo losi stormed amq
  • 如何计算不在列表中的日期

    我有一个位于客户的两个日期 date1 date2 之间的数据框以及到达日期 date1 lt 2019 07 29 date2 lt 2019 08 08 clients lt data frame id c 1 10 arrive c
  • 在 Python 中使用多个列表的 For 循环[重复]

    这个问题在这里已经有答案了 我正在寻找解决我的问题的方法 目前我有两个元素列表 column width 3 3 6 8 4 4 4 4 fade 100 200 300 我想要实现的是创建 for 循环 它将给出以下输出 column 3
  • 随机生成密码 Rails 3.1

    为了开发一个新的网络应用程序 我的注册页面 仅限管理员 只需要一个电子邮件字段 问题是我对 Rails 完全陌生 所以即使是像这样的基础知识对我来说也非常困难 我使用 Railscast 270 创建了我的身份验证 它使用有安全密码方法 现
  • Java 中最快的循环同步是什么(ExecutorService、CyclicBarrier、X)?

    哪种 Java 同步结构可能提供最好的 并发 迭代处理场景的性能 像下面概述的那样固定数量的线程 实验后 我自己呆了一段时间 使用 ExecutorService 和 CyclicBarrier 并且 对结果有些惊讶 我会感激一些 专家建议
  • 比较对象 - 单独的侧列

    是否可以显示PowerShell的结果Compare Object在两列中显示参考对象与差异对象的差异 例如使用我当前的命令行 Compare Object Base Test Gives InputObject SideIndicator
  • 在电子邮件中嵌入图片

    我目前有一个程序 可以从列表中随机选择报价并通过电子邮件发送 我现在也尝试在电子邮件中嵌入图像 我遇到了一个问题 我可以附加电子邮件 但我的报价不再有效 我在网上研究过 但解决方案对我不起作用 请注意 我使用的是 Python 3 2 2
  • 发现循环依赖问题

    我正在设计一个系统 其中有两个模块 一个用于管理文件 另一个用于用户 对于某些逻辑运算 它们需要彼此提供的服务 每个模块都由一个单例表示 该单例实现一个相互提供一些服务的接口 并通过抽象工厂来提供它们 如下所示 public class U
  • 如何使 Pinia 商店热重载更改?

    import defineStore acceptHMRUpdate from pinia import v4 as uuidv4 from uuid export const useStoreNotes defineStore store