自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 useEffect五个经典问题&实践总结

一、背景接触Hooks5个月,从之前的毫无基础、照着老代码一步一步模仿,现在已经能应付大部分工作中的问题。这期间遇到过很多问题,虽然用这样那样的手段满足了需求,但是总不能理解这些手段背后的原理,为此也找了很多教程来看,由于这些教程都聚焦在如何使用,对于背后的心智模型没有做更多的解读,直到读了Dan的《useEffect 完整指南》,才有了”哦😯,原来如此的感觉“。接下来我将从useEffect五个经典问题及自己实践两个维度来阐述我的理解。二、useEffect五个经典问题1. 🤔 如何用useEff

2022-03-29 15:13:00 547

原创 从JS线程维度谈异步

引言本篇文章从事件循环角度谈异步,主要内容是对参考文献的总结归纳,想要深入了解,建议详细阅读参考文献。主要线程介绍JS引擎线程这个线程用来解析和执行JS代码,是执行JS脚本的主力军,它按照执行栈的顺序依次执行。异步编程,本质上就是调整任务执行顺序。事件触发线程这个线程相当于JS引擎线程的管家,用来调度事件(调整任务执行顺序),例如遇到setTimeOut代码块时,就将这部分代码交给定时器线程执行,等满足触发条件后,再将回调函数放到任务队列的最后,等待JS引擎线程空闲的时候执行。定时

2022-03-29 15:11:39 103

原创 搬砖够用的Git实践总结

实践总结基本流程fork主项目并clone到本地添加上游仓库,这个操作每个项目只要做一次,目的是将本地项目与主项目连接起来,可以保证本地项目的代码处于最新状态。//查看上游仓库git remote -v//添加上游仓库(链接主项目)git remote add upstream xxxxxx(上游仓库地址)//如果添加错了,可以删除上游仓库再添加git remote rm upstream//最后再检查一下git remote -v成功结果如图:为了确保后续P

2022-03-29 15:10:17 103

原创 React状态哲学 & 状态管理的实践总结

前言从类组件到函数组件,从state、props到store、context,我跟状态打的交道越多,遇到的疑惑也就越多。偶然间重读React官方文档,看到他们对状态的哲学阐述,深受启发,所以在此给出我的一些理解。React状态哲学首先来看一些官方对于状态的定义React通过state让ui具备交互的能力做好状态管理,分两步走:确定 UI state 的最小(且完整)表示该数据是否是由父组件通过 props 传递而来的?如果是,那它应该不是 state。该数据是否随时间的推移而保持

2022-03-29 15:07:20 812

原创 【踩坑】Antd中Modal与Form同时使用时,destroyOnClose无效的问题

问题描述:在Modal内使用Form组件管理状态时,关闭Modal并不会清除表单的数据,即使配置了destroyOnClose属性也不生效。原因:简而言之,Modal的destroyOnClose属性只有在状态完全是在Modal内管理的情况下才会生效解决方案:方案一:在响应事件中添加form.resetFields(),借助Form组件的API清空状态方案二:在Form中设置preserve属性为false,然后在Modal中设置destroyOnClose属性为true.

2021-11-09 20:32:51 9484 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除