1.Vuex在vue3中用于持久化存储exportdefault{namespaced:true,state:{info:{a:1}},mutations:{updateA(state,val){state.info.a=val},},actions:{asyncUpdate(store,val){setTimeout(()=>{store.commit('updateA',val)},2000)}},getters:{format(state){returnstate.info.a}}}注意:变异方法接收2个参数,第一个是当前状态,第二个是要修改的值。一个持久化存储的插件:vuex-persistedstate自动将vuex数据存储到localStorage中,并在页面刷新时自动获取localStorage中的数据赋值给vuex。参考链接:参考链接2、chrome浏览器无法在本地手动设置cookies:cookie项背景颜色变为红色,刷新后无法保存。解决方法:访问地址chrome://flags/,搜索Partitionedcookies,将设置项改为Enabled,重启浏览器。3、字符串零填充x.padStart(2,'0')第一个参数表示填充后生成的字符串的长度,第二个参数表示填充到字符串中的内容。4.src目录外的静态文件无法导入到react项目中。错误消息:找不到模块:您试图导入...,它位于项目src/目录之外。不支持src/之外的相对导入。解决方案:禁用ModuleScopePlugin插件//craco.config.jsconstCracoLessPlugin=require('craco-less');constModuleScopePlugin=require('react-dev-utils/ModuleScopePlugin');module.exports={plugins:[{plugin:{overrideWebpackConfig:({webpackConfig,cracoConfig,pluginOptions,context:{env,paths}})=>{webpackConfig.resolve.plugins=webpackConfig.resolve.plugins.filter(p=>p.constructor.name!=='ModuleScopePlugin');返回网络包配置;},},},]}5.a标签下载文件如果href和js文件地址不是同源的,download属性不会生效。如果引用第三方网站或者前后端分离的项目,调用后台的接口,这时候下载是不行的。文件名为中文,下载不生效怎么解决?使用js创建链接,以blob形式下载文件6.尾调用优化尾调用:一个函数的最后一步是调用另一个函数。尾调用优化:只保留内部函数的调用记录。如果所有的函数都是tailcalls,每次执行只能有一条调用记录,这样会大大节省内存。目前各大浏览器对es6各种特性的支持中,只有“tailcalloptimization”支持程度较低,只有Safari支持,其他浏览器不支持。7.当函数参数为对象时,解构赋值为对象的每个属性设置一个默认值:functionfn({x=1,y=2}={}){}为整个对象设置一个默认值:functionfn({x,y}={x=1,y=2}){}8.tsv-model的值是对象属性的嵌套形式constval={radius:'',side:'',}consttype=['circle':{tip:'circle',model:'radius'},'rect':{tip:'square',model:'side'}]
