Skip to content

HMR (Гаряча заміна модулів)

Pinia підтримує гарячу заміна модулів, тож ви можете відредагувати свої сховища та взаємодіяти з ними безпосередньо у своєму застосунку, не перезавантажуючи сторінку, що дозволяє зберегти наявний стан, додавати або навіть видаляти стан, дії та гетери.

На даний момент офіційно підтримується лише Vite, але будь-який збірник, що реалізує специфікацію import.meta.hot, повинен працювати (наприклад, webpack, здається, використовується import.meta.webpackHot замість import.meta.hot). Вам потрібно додати цей фрагмент коду до будь-якого оголошення сховища. Припустимо, у вас є три сховища: auth.js, cart.js, і chat.js, , вам доведеться додати (та адаптувати) це після створення визначення сховища:

js
// auth.js
import { defineStore, acceptHMRUpdate } from 'pinia'

export const useAuth = defineStore('auth', {
  // параметри...
})

// переконайтеся, що передано правильне визначення сховища, у цьому випадку `useAuth`.
if (import.meta.hot) {
  import.meta.hot.accept(acceptHMRUpdate(useAuth, import.meta.hot))
}
// auth.js
import { defineStore, acceptHMRUpdate } from 'pinia'

export const useAuth = defineStore('auth', {
  // параметри...
})

// переконайтеся, що передано правильне визначення сховища, у цьому випадку `useAuth`.
if (import.meta.hot) {
  import.meta.hot.accept(acceptHMRUpdate(useAuth, import.meta.hot))
}

Released under the MIT License.