- 博客(25)
- 收藏
- 关注
原创 引起 useEffect 钩子 无限循环的原因分析
引起 useEffect 钩子无限循环的操作有:1、不传递依赖项,并在useEffect中执行改变某些状态2、在useEffect中执行改变某个状态,并把这个状态作为依赖项3、使用函数作为依赖项,并在useEffect中执行改变某些状态4、使用数组作为依赖项,并在useEffect中执行改变某些状态5、使用对象作为依赖项,并在useEffect中执行改变某些状态
2023-12-27 11:03:29
1528
原创 React 函数式组件hooks的用法
Hooks是一个新的React特性提案,组件尽量写成纯函数,如果需要外部React特性(比如状态管理,生命周期),就用钩子把外部特性"钩"进来,通常函数名字都是以use开头
2023-12-26 10:33:23
1535
原创 React HOC高阶组件以及装饰器的使用
高阶组件HOC(Higher-Order Components)是React中用于重用组件逻辑的一种高级技术实现模式,它本身是一个函数,接受一个组件并返回一个新的组件。1、HOC支持ES6,比mixins的更优解决方案2、HOC复用性强,将公用逻辑抽离、共享3、HOC是纯函数,支持传入参数,增加了其扩展性4、HOC依赖传入的props,相应状态在父组件维护1、组件之间复用状态逻辑很难,本质是将复用逻辑提升到父组件中,容易产生嵌套地狱。
2023-12-25 11:50:19
1241
原创 Redux的使用 + 中间件处理异步action+ redux持久化
redux 遵循了一种单向数据流的架构模式,将整个应用的状态数据存储在一个全局的状态树store中,通过action和reducer来管理状态的变化。2、redux-promise 支持dispatch(Promise)、dispatch({type:“”,payload:Promise})redux是一个 js 的状态管理库,用于管理应用的全局状态。action必须是一个简单的对象,不能是异步的。在sagas.ts文件中监听到这个reducer为异步,则会调用自定义封装的异步函数,如果是同步则会放行。
2023-12-21 18:17:43
1607
1
原创 封装组件发布至npm,支持unplugin-vue-components插件按需引入,超详细步骤!!
封装组件发布至npm,支持unplugin-vue-components插件按需引入
2023-09-20 12:08:16
1725
1
原创 后端入门 SpringBoot+MybatisPlus+Mysql+Lombok 创建maven工程,编写增删查改接口
>**对用户表编写增删查改接口,具体接口如下**:>1. 获取用户列表 http://localhost:8081/user/getUserList>2. 根据请求路径上的id 获取用户信息 http://localhost:8081/user/getUserInfo/1>3. 根据请求参数上的id 获取用户信息 http://localhost:8081/user/getUserInfoById?id=1>4. 新增用户或更新已存在的用户信息 http://localhost:8081/user/
2023-08-15 14:55:03
681
2
原创 创建Maven项目,JDBC连接mysql数据库 超详细的步骤!!
新建mysql数据库详细步骤新建maven项目maven项目如何连接mysql数据库读取表中数据
2023-08-11 16:25:31
14063
4
原创 rem+vue3+pinia+element-plus实现同时改变父子窗口、多窗口的字体大小
使用rem相对单位,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应rem是相对于根元素,这样就意味着,我们只需要在根元素确定一个px字号,子元素使用rem单位来设置字体大小,则可以根据根元素的字号自适应算出子元素的字体大小此案例涉及到多窗口,所以使用了pinia并持久化数据,在app.vue里监听持久化数据,达到统一修改所有窗体字体大小的效果父窗口把改变持久化数据的方法挂载至window对象,window对象是共享的,子窗口则可以
2023-08-09 11:25:56
756
原创 模拟a标签下载文件(同源下载、跨域下载)
在谷歌和火狐浏览器a标签download属性修改文件名失效的原因:不同源,访问的域名和href的域名要一致。
2023-07-27 11:17:01
2257
1
原创 window.open 和 iframe 打开子窗口 使用 postMessage 实现父子窗口传值示例
【代码】window.open 和 iframe 打开子窗口 使用 postMessage 实现父子窗口传值示例。
2023-07-27 10:35:32
3626
1
原创 Electron拦截window.open,重新设置窗口配置
需要拦截具体某个窗口中使用window.open打开新窗口的操作,则只需要设置该窗口的webContents.setWindowOpenHandler(handler),监听是否有新窗口创建。注意:此方法无法拦截window.open创建的新窗口里的window.open,只能拦截当前窗口的window.open。:渲染进程中请求创建一个新窗口之前被调用,例如 window.open(), 带 target=“_blank” 的链接,按shift 点击链接,或使用 提交一个表单。
2023-07-20 12:41:33
5509
原创 Electron实现文件下载并展示下载进度
1.在主进程中定义一个全局变量 downloadItems 用于管理所有的下载任务项2.主进程在接收到下载文件任务的时候,将下载任务添加进入 downloadItems,通过win.webContents.send(‘watch-download-file-state’)把下载过程进度 推送给渲染进程3.主进程监听渲染进程发送过来的事件,根据下载任务项downloadItems 来获取某个文件下载实例,进行相应的处理。
2023-07-17 18:18:57
6158
3
原创 Electron上下文隔离进程间的四种通信方式示例详解
推荐使用上下文隔离渲染器进程进行通信。这种方式的好处是无需在渲染进程中直接使用 ipcRenderer 发送消息,当我们使用 vue 或者其他前端框架开发界面时,上下文隔离方式使用起来更加方便,基本上感受不到 electron 对前端框架的影响。
2023-07-17 10:56:04
2765
2
原创 Electron实现自定义最大化最小化关闭窗口功能
创建窗口时设置frame属性为false,即创建一个无边框的窗口,不使用Electron自带的框架,那么如何在渲染进程中通知主进程进行窗口的操作?详见代码如下。
2023-07-17 10:36:30
3331
2
原创 Electron如何实现系统托盘闪烁
创建主窗口时窗口托盘,设置系统托盘闪烁设置系统托盘图片闪烁时,设置一个setInterval定时器,定时设置系统托盘图标为空或为图片。
2023-07-12 11:47:02
1211
1
原创 Electron实现自定义系统通知的效果
<head></head><body><div class="title" id="title">新消息</div></div><div class="footer" onclick="onIgnoreAll()">忽略全部</div></div></body>
2023-07-12 11:34:52
2064
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅