自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 React开发流程小记 -react-router-dom+ react-redux Redux Toolkit + axios

import {createSlice } from '@reduxjs/toolkit' // 创建分区 类似于vuex中的modules let product = createSlice({name : 'product' , // 分区的名字 initialState : {

2023-04-23 16:10:29 259

原创 get请求和post请求的区别

6.get请求只能进行url编码(appliacation-x-www-form-urlencoded),post请求支持多种(multipart/form-data等)。而对于 POST,浏览器先发送 header,服务器响应 100, 浏览器再继续发送 data,服。2.get因为参数会放在url中,所以隐私性,安全性较差,请求的数据长度是有限制的,3.get请求刷新服务器或者回退没有影响,post请求回退时会重新提交数据请求。post请求是没有的长度限制,请求数据是放在body中;

2022-11-05 11:10:09 164

原创 能够让不定宽高元素水平和垂直居中的方法

而translate方案则是利用位移,通过先50%的位移,可以是通过position,也可以是通过margin vw vh,但是完成之后,在通过translate把元素拉回去,之所以用translate而不是margin是因为translate是相对于元素本身,而margin不是。vh和vw是两个比较偏的单位,是指“viewport的height和width的1%”,比如说50vh就是当前视口(窗口的高度,实验中包含了滚动条)高度的50%。之前的文字会基于:before基线,会保持垂直对齐的状态。

2022-10-25 16:05:10 279

原创 React 优化小总结

压缩资源,拆包,使用 CDN ,http 缓存等。本节只讨论首屏,这些先不讲。 可以优化内部的 diff 算法。注意,遍历数组时 不要使用 。修改 css 模拟 条件渲染时,可以通过设置 css 来处理显示和隐藏,不用非得销毁组件。模拟 Vue 或者使用 Fragment 减少层级组件层级过多,如果每个组件都以 作为 root ,则 DOM 层级太多而难以调试。JSX 中不要定义函数JSX 是一个语法糖,它和 Vue template 一样,最终将变为 JS render 函数,用以生成

2022-10-25 08:45:00 95

原创 React中Fragment标签和空标签的使用(vue中的template标签类似)

类似于vue中的template标签,将当前dom不渲染后页面。在多层循环中可以添加key属性,其他属性不可以添加。不然会警告,提示只能有key属性和children vdom。react和vue的特性就是组件的只能有一个根元素,为了解决这个问题我们可以在vue中使用template标签,在react中使用Fragment标签,包裹在组件的跟标签上。在react中也可以这样写,但是前提是不循环,唯一,因为这样写连key属性都写不上。

2022-10-20 09:49:27 1393

原创 JavaScript词法:为什么12.toString会报错?

WhiteSpace 空白字符LineTerminator 换行符Comment 注释Token 词IdentifierName 标识符名称,典型案例是我们使用的变量名,注意这里关键字也包含在内了。Punctuator 符号,我们使用的运算符和大括号等符号。NumericLiteral 数字直接量,就是我们写的数字。StringLiteral 字符串直接量,就是我们用单引号或者双引号引起来的直接量。Template 字符串模板,用反引号` 括起来的直接量。

2022-10-15 14:42:39 109

原创 一文教会你同步 - 异步(事件循环,微任务,宏任务)

虽然JS是单线程,但是浏览器是多线程的,在遇到像setTimeout、DOM事件、ajax等这种任务时,会转交给浏览器的其他工作线程(上面提到的几个线程)执行,执行完之后将回调函数放入到任务队列。在这期间,每次都会查看任务队列有没有需要执行的任务(回调函数)。也就是说执行微任务队列 会将队列中的所有微任务执行完 而执行宏任务队列 每次只执行一个宏任务 然后重新开始下一个循环。以下代码会输出2、3、1,像这种不按顺序执行的,或者说代码执行中间有时间间隙的,叫异步。任务队列又分微任务队列和宏任务队列。

2022-10-15 08:30:00 76

原创 前端下载二进制流文件

平时在前端下载文件有两种方式,一种是后台提供一个 URL,然后用下载,另一种就是后台直接返回文件的二进制内容,然后前端转化一下再下载。由于第一种方式比较简单,在此不做探讨。本文主要讲解一下第二种方式怎么实现。

2022-10-14 20:11:03 1900

转载 微信小程序性能优化总结

微信小程序提供了一个“体验评分”的工具插件,可以使用它获得微信小程序的一些性能数据和明显的缺陷,进而根据报告进行相应的优化。同时,为了方便开发者能够及时发现小程序的体验问题,从开发者工具 1.02.1811150 版本起支持体验评分的 “自动运行” 功能。一旦发现体验分数低于 70 分时,系统会在 console 面板打印一个 warning 信息提示开发者。然后,根据效果图的分析报告,查看需要优化的细项,并根据说明一一进行优化。二、其他常见优化。

2022-10-12 20:42:31 3004

原创 JS XMLHttpRequest入门教程(详细版)

把所有调用函数放在 try 中执行,如果发生错误,则在 catch 中捕获异常并执行 continue 命令,返回继续执行,避免抛出异常。在 open() 方法中,设置第一个参数为 POST,然后使用 setRequestHeader() 方法设置请求消息的内容类型为“application/x-www-form-urlencoded”,它表示传递的是表单值,一般使用 POST 发送请求时都必须设置该选项,否则服务器无法识别传递过来的数据。

2022-10-11 19:39:16 1348

原创 JavaScript对象:你知道全部的对象分类吗?

这样的规则造成了个有趣的现象,如果我们的构造器返回了一个新的对象,那么new创建的新对象就变成了一个构造函数之外完全无法访问的对象,这一定程度上可以实现“私有”。这些字段使得原型继承方法无法正常工作,所以,我们可以认为,所有这些原生对象都是为了特定能力或者性能,而设计出来的“特权对象”。函数对象的定义是:具有[[call]]私有字段的对象,构造器对象的定义是:具有私有字段[[construct]]的对象。通过这些构造器,我们可以用new来创建新的对象,所以我们把这些对象称作原生对象。

2022-09-23 09:45:00 239

原创 Git 版本管理(git 中关于撤销以及删除文件)

版本管理 撤消修改(git commit --amend) 取消暂存的文件(git reset) 撤消对文件的修改(git --checkout)场景1: 当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时, 用命令。场景3: 已经提交了不合适的修改到版本库时,想要撤销本次提交,可以用命令。现在,文件就从版本库中被删除了。

2022-09-14 14:56:21 1322

原创 使用Git仓库

git initgit add .git remote add origin git@github.com:帐号名/仓库名.gitgit push origin master # -f 强推。

2022-09-09 09:45:00 67

原创 简单使用Git仓库克隆提交

git status命令用于显示工作目录和暂存区的状态。使用此命令能看到那些修改被暂存到了, 哪些没有, 哪些文件没有被Git tracked到。git status不显示已经commit到项目历史中去的信息。git commit命令用于将更改记录(提交)到存储库。将索引的当前内容与描述更改的用户和日志消息一起存储在新的提交中。git add 命令将文件内容添加到索引(将修改添加到暂存区)。也就是将要提交的文件的信息添加到索引库中。git push命令用于将本地分支的更新,推送到远程主机。

2022-09-08 21:13:48 643 2

空空如也

空空如也

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

TA关注的人

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