在vue3中使用pinia

在vue3项目中使用pinia

  1. 使用vite创建项目和安装pinia依赖
npm init vite@latest
npm i pinia
  1. 从pinia包中解构出defineStore函数创建store片段,这里有一个要注意的点是第一个参数是这个store的id,第二个参数类比vue2中的script内容,state对应data,actions对应methods
import { defineStore } from "pinia";
export const fooStore = defineStore("foo", {
  state: () => {
    return {
      arr: [1, 2, 3],
    };
  },
  actions: {
    increment() {
      this.arr.push(this.arr.length + 1);
    },
  },
});
  1. 把pinia绑定到入口文件main.js
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import './style.css'
import App from './App.vue'
const app = createApp(App);
app.use(createPinia()).mount('#app')
  1. pinia编写完成,开始使用,pinia使用起来是非常简单的。这里有一个点就是发现编写的store文件并没有绑定到main.js上,而是直接从pinia中解构出createPinia作为插件绑定到app,这也说明pinia中每个单独的store模块是按需加载的,并不是一次性全部绑定在app上一次性加载完成。
<template>
  <div>
    <div v-for="item in store.arr" :key="item">{{ item }}</div>
    <button @click="handleClick">add</button>
  </div>
</template>
<script setup>
import { fooStore } from '../store/fooStore';
const store = fooStore()
const handleClick = () => {
  store.increment();
}
</script>
  1. 总结扩展
1.pinia中编写store文件和vue2的选项式api可以说一模一样。

相关推荐

  1. vue3使用pinia

    2024-04-13 03:24:04       29 阅读
  2. vue3router使用pinia报错解决

    2024-04-13 03:24:04       37 阅读
  3. PiniaVue 3项目的应用

    2024-04-13 03:24:04       35 阅读
  4. Vue3Pinia的getters

    2024-04-13 03:24:04       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-13 03:24:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-13 03:24:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-13 03:24:04       82 阅读
  4. Python语言-面向对象

    2024-04-13 03:24:04       91 阅读

热门阅读

  1. 正则表达式|*+?

    2024-04-13 03:24:04       74 阅读
  2. 深入理解 Golang 中 New() 和 make() 的区别

    2024-04-13 03:24:04       35 阅读
  3. 构建高效运维平台与数据中心可视化方案

    2024-04-13 03:24:04       29 阅读
  4. <网络安全>《72 微课堂<什么是靶场?>》

    2024-04-13 03:24:04       37 阅读
  5. Anaconda的常用指令

    2024-04-13 03:24:04       38 阅读
  6. 桶排序:原理、实现与应用场景详解

    2024-04-13 03:24:04       29 阅读
  7. LeetCode 1. Two Sum

    2024-04-13 03:24:04       37 阅读
  8. 记录一次关于线程池任务编排和共享数据的尝试

    2024-04-13 03:24:04       38 阅读