我的编程空间,编程开发者的网络收藏夹
学习永远不晚

解决Electron store的commit和dispatch不好用问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

解决Electron store的commit和dispatch不好用问题

Vue 的Vuex 一般vue的commit和dispatch可以直接使用,然后到了桌面程序的Vuex(store)竟然不好使了,原因真是奇葩无比。

一、Electron使用store的commit和dispatch问题

this.$store.dispatch('project/setProject', item)

// this.$store.dispatch('project/setProject')

//this.$store.dispatch('project/setProject').then(() => {
//  //------
//})

如果直接使用dispatch发现,缓存并未更新,感觉就像是方法没有执行,因为没有任何错误提示,这如何找问题!

this.$store.commit('INCREMENT_MAIN_COUNTER');

// this.$store.commit('INCREMENT_MAIN_COUNTER', payload);

然后我们换commit的时候又报如下错误,只能使用dispatch,这sb不是搞事情吗,不好使还让我使,是你抽了还是我抽了。

store/index.js

store/modules/index.js

网上搜索一大堆的东西,基本很少有有用的信息,最后偶然发现竟然是vuex-electron插件的一个坑!!!

这坑埋的挺深!!!

二、解决方法有两个

方法1

在 store/index.js 里面,就是上文特别强调了的那个文件,去掉或注释 createSharedMutations 插件

因为 vuex-electron 引入了一个用于多进程间共享 Vuex Store 的状态的插件。

如果没有多进程交互的需求,完全可以不引入这个插件。

注释掉以后重启项目,用 this.$store.commit('XXX') 就可以使用了

方法2

如果需要多进程来处理怎么办?

看第 3 条

这样就不能使用第一种方法来解决问题了。好在文档也说了,加上一行导入。

找到 /class="lazy" data-src/main/index.js,在前面加上一句:

import '../renderer/store'

重启之后一切正常,可以使用 Dispatch 来进行操作了!

使用方法

// 存 两者使用有区别,注意区分
this.$store.dispatch('project/setProject', item) // 调用actions方法
this.$store.commit('project/SET_PROJECT', item) // 调用mutations方法

// 取 第一个project是js文件的名字,第二个是state设置的属性key,如此才能获取到值
console.log(this.$store.state.project.project)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

解决Electron store的commit和dispatch不好用问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

解决Electron store的commit和dispatch不好用问题

这篇文章主要介绍了解决Electron store的commit和dispatch不好用问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-01-10

轻量应用服务器性能不好怎么解决问题

轻量应用服务器性能不好通常可以通过以下方法解决:优化应用程序代码:可以使用代码优化工具或脚本来修复应用程序代码中的问题。使用优化技术:可以使用缓存、优化的IO、高效的数据库、缓存一致性等技术来提高应用程序的性能。配置合理的应用程序参数:可以通过配置数据库、网络带宽、操作系统、应用程序版本等参数来提高应用程序的性能。使用多种技术:可以使用多种技术来提高应用程序的性能,如分块技术、内存回收
2023-10-26

Android Studio和Gradle使用不同位置JDK的问题解决

初次安装Android Studio,遇到了不少问题,这是其中的一个,分享如下,同时求各位dalao关注一下啦((*^__^*) )使用不同的JDK位置可能会导致Gradle产生多个守护进程 ,首先Android Studio默认下使用的下
2022-06-06

轻量应用服务器性能不好怎么解决问题呢

轻量应用服务器性能不好通常可以通过以下方法解决:优化应用服务器的架构:根据应用服务器的配置和性能要求来选择合适的架构和数据库选项,如使用MySQL、MongoDB等数据库来缓存,使用Redis等分布式数据库来提高性能,使用消息队列等增强可靠性等。优化应用服务器的架构可以有效提高系统的性能。监控应用服务器的性能:可以使用性能监控工具或者监控系统来监控应用服务器的性能,了解应用服务器的负载情况
2023-10-26

C++中指针问题和引用问题的解决方法

C++中指针问题和引用问题的解决方法引言:在C++编程过程中,指针问题和引用问题是常见的困扰程序员的难题。本文将介绍一些解决这些问题的方法,并通过具体的代码示例进行说明,帮助读者更好地理解和应用。一、指针问题的解决方法空指针检测在使用指针之
2023-10-22

我如何解决 go build 和 go install 不起作用的问题

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,编程网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《我如何解决 go build 和 go install 不起作用的问题》,主要介绍了,希望对大家的知识积累有所帮助,
我如何解决 go build 和 go install 不起作用的问题
2024-04-04

如何解决Lombok注解不起作用的问题

本篇内容介绍了“如何解决Lombok注解不起作用的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Lombok注解不起作用场景:减少实体类
2023-06-20

Mysql和redis缓存不一致问题的解决方案

目录一.问题描述二.解决方案1.给缓存数据设置过期时间2.缓存延时双删3.删除缓存重试机制4.读取biglog异步删除缓存三.总结一.问题描述Redis、mysql双写缓存不一致:在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓
2022-08-16

如何解决php header不起作用的问题

本篇内容介绍了“如何解决php header不起作用的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php header不起作用的方法:
2023-06-20

element-ui使用el-upload,before-upload函数不好使问题怎么解决

这篇文章主要介绍了element-ui使用el-upload,before-upload函数不好使问题怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇element-ui使用el-upload,befor
2023-07-05

快速解决fragment中onActivityResult不调用的问题

fragment 通过startActivityForResult方法启动另一个activity,返回时,不调用onActivityResult方法,解决步骤: 1. 在Fragment所属的Activity中,重写了onActivity
2023-05-31

解决SpringBoot的@DeleteMapping注解的方法不被调用问题

这篇文章主要介绍了解决SpringBoot的@DeleteMapping注解的方法不被调用问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-01-12

编程热搜

目录