这里自动同步选项有个bug

来源:11-3 添加云同步菜单

qq_慕勒5016658

2020-07-16

打开app -> 读取本地数据获取自动同步的状态(true/false) -> 点击自动同步改变状态 -> 改变成功

再次点击自动同步 -> 自动同步的状态无法再次改变(checkbox的状态被改变,settingsStore的enableAutoSync无法再次改变)

用老师的代码也重现了同样的bug

解决方案:在自动同步的点击事件里获取当前状态

{

click: () => {

          const enable = settingsStore.get('enableAutoSync')

          settingsStore.set('enableAutoSync', !enable)

}

写回答

1回答

qq_慕勒5016658

提问者

2020-07-16

思考了一下这里面的问题

menuTemplate.js这个文件只在app启动时加载

里面的qiniuIsConfiged和enableAutoSync也只在js文件加载的时候被赋值,在此之后就不再被执行了

所以当点击"自动同步"选项的时候,只能用第一次加载的enableAutoSync参数来进行处理,第一次状态取反可以正确执行,第二次之后就获取不到最新的状态了

不知道是否正确

1
2
不言七
我也遇到同样问题,我就不使用enableAutoSync保存数据用到checked和click那里了,而是直接在checked和click属性那里都settingsStore.get('enableAutoSync'),每次都能获取最新的enableAutoSync值
2022-12-14
共2条回复

2024更新 Electron+React+七牛云实战跨平台桌面应用

开发一款自动云同步的 Markdown 文件管理软件

1253 学习 · 463 问题

查看课程