コンテンツにスキップ

Piniaを使わずにグローバルステートを扱う

Piniaを使わなくてもグローバルステート管理は実現できる

store.ts
import { reactive, toRefs } from 'vue';
interface State {
mode: "dark" | "light" | "system"
}
const state = reactive({
mode: "system";
})
export function useDataStore() {
const { mode } = toRefs(state);
const changeMode = (nextMode: State["mode"]) => {
state.mode = nextMode;
}
return {
mode,
changeMode
}
}