当前位置: 首页 > news >正文

建设网站项目计划书新品推广计划与方案

建设网站项目计划书,新品推广计划与方案,网吧设计方案,阿里巴巴最新董事长大家好~ 我是前端uio,本文主要介绍Vuex的基本用法、使用场景以及缺点和解决方案,最后在Vue3中与Pinia进行比较。有什么疑问都欢迎私聊或者在评论区留言。如果需要开发web网页或者微信小程序都可以找我私聊,我会尽可能回答我了解的内容。 一、…

  大家好~ 我是前端uio,本文主要介绍Vuex的基本用法、使用场景以及缺点和解决方案,最后在Vue3中与Pinia进行比较。有什么疑问都欢迎私聊或者在评论区留言。如果需要开发web网页或者微信小程序都可以找我私聊,我会尽可能回答我了解的内容。


一、基本介绍

1.可参考官方文档进行学习( Vuex的使用 )

        Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。

2.作用

        i)集中管理状态:Vuex 允许开发者将应用的状态集中存储在一个地方,便于管理和维护。
       ii)使状态响应式:Vuex 的状态是响应式的,当状态发生变化时,依赖这些状态的组件会自动更新。
       ii)强制使用单一数据源:Vuex 要求开发者通过 mutations 来改变状态,这样可以避免直接修改状态,从而保证状态的一致性。
      iv)便于调试:Vuex 的状态变化可以被追踪,这有助于开发者更好地理解应用的工作原理,并进行调试。

3.使用场景

        i)单页应用

        在单页应用中,组件之间的状态共享、音乐播放控制、登录状态管理、购物车管理等都可以通过 Vuex 来实现

       ii)复杂的组件通信

        Vuex 可以解决多层级组件嵌套时的状态传递问题,使得组件之间的通信更为清晰和易于管理。

      iii)数据中心化

        Vuex 作为数据中心,可以集中管理应用的状态,避免数据在不同组件之间的重复存储和不一致性。

二、基本用法

1.创建 Vuex Store

  在Vue 项目中创建一个 store 文件夹,并在该文件夹内创建 index.js 文件作为 Vuex 的入口文件。

// store/index.js
import Vue from 'vue';
import Vuex from 'vuex';Vue.use(Vuex);const store = new Vuex.Store({state: {message: '胡桃!'},mutations: {updateMessage(state, newMessage) {state.message = newMessage;}},actions: {changeMessage({ commit }, newMessage) {setTimeout(() => {commit('updateMessage', newMessage);}, 1000); // 模拟异步操作}}
});export default store;

2.在组件中使用Vuex

        i)使用 mapStatemapMutations 和 mapActions 辅助函数来简化代码。这些辅助函数允许我们将 Vuex 的状态、mutations 和 actions 映射到 Vue 组件的计算属性和方法中

// App.vue
<template><div><h1>{{ message }}</h1><button @click="changeMessage">Change Message</button></div>
</template><script>
import { mapState, mapMutations, mapActions } from 'vuex';export default {computed: {...mapState(['message'])},methods: {...mapMutations(['updateMessage']),...mapActions(['changeMessage'])}
};
</script>

        ii)如果你需要从 Vuex Store 中获取经过计算的状态,可以使用 getters。

        ① 使用 mapGetters 辅助函数来将 Vuex 的 getter 映射到 Vue 组件的计算属性中。

// store/index.js
getters: {reversedMessage(state) {return state.message.split('').reverse().join('');}
}
// App.vue
<template><div><h1>{{ reversedMessage }}</h1></div>
</template><script>
import { mapState, mapGetters } from 'vuex';export default {computed: {...mapState(['message']),...mapGetters(['reversedMessage'])}
};
</script>

        ② 直接访问 $store.state

<template><!-- 模板中的内容 -->
</template><script>
export default {methods: {incrementCount() {this.$store.state.count++; // 直接访问 Vuex store 中的 count 状态并增加它的值}}
};
</script>

三、缺点以及解决方式

1.缺点:刷新导致状态重置,数据丢失

        当浏览器进行刷新时,Vuex中的状态会重新变为初始状态,这可能导致用户体验上的不便,简单来说,就是数据没有保存在本地,特别是在用户登录或提交订单后跳转到另一个页面,如果此时刷新浏览器,可能会丢失重要的 信息,如token令牌或订单状态。

2.解决方式:使用状态持久化插件

        可以根据缺点产生的原因来进行解决,可以手动进行配置,进行本地化保存,也可以使用如vuex-persistedstate这样的插件来解决刷新浏览器导致状态重置的问题。这些插件可以在页面刷新前将Vuex中的数据保存到浏览器缓存中,页面刷新后,再从缓存中恢复数据,确保状态的持续性。

四、总结与思考

 1.使用Vuex的场景(用户登录状态、购物车管理等)

2.在vue3中,使用pinia进行状态管理,与Vuex有什么不同(弃用mutation,用action处理同步、异步方法,使用pinia-plugin-persistedstate进行状态管理)

http://www.hkea.cn/news/894769/

相关文章:

  • 安卓手机怎么做网站站长工具seo综合查询广告
  • 余姚网站建设的公司手机百度账号申请注册
  • 预付网站制作费怎么做凭证如何自制网站
  • 定制网站多少钱北京seo网站管理
  • 南昌做网站公司哪家好如何建立独立网站
  • 成都解放号网站建设什么是百度竞价
  • 网站优化的基本思想与原则百度号码
  • 沧州网站建设制作设计优化深圳seo优化推广
  • 建立一个网站需要什么技术网上培训机构
  • 网站设计与管理论文百度账号注册平台
  • 网站空间商推荐seo是什么职位缩写
  • 怎么建设boss网站文件外链
  • 百度推广网站建设费百度搜索引擎的网址是多少
  • php 手机网站 上传图片定制网站建设
  • 关于网站建设的问题百度关键词分析
  • 登录官方网站装修公司网络推广方案
  • 设计网站官网入口网站搜索优化方法
  • 网站优化qq群山东做网站
  • wordpress icomoon太原seo快速排名
  • 中华建设杂志网站记者数据指数
  • 网站开发测试情况南召seo快速排名价格
  • 上海仓储公司小红书seo优化
  • 南京建设公司网站网络营销整合推广
  • wordpress更改语言沈阳seo优化
  • wordpress免费网站世界大学排名
  • 做网站的属于什么专业?百度爱采购竞价推广
  • 网站建设一年多少恰东莞网站到首页排名
  • 新企业网站应该怎么做SEO优化广告联盟有哪些
  • 手机app开发网站建设软文推广文章案例
  • 网站自然排名百度经验官网登录