- 博客(20)
- 收藏
- 关注
原创 2021-02-01
HooksReact hook Hook是一个特殊的函数,是React 16.8的新增特性。他可以让你在不编写class的情况下使用state以及其他的React 特性 Hook中没有this,React是通过Hook的调用顺序来对应相应的Hook,所以Hook需要在组件的最顶层使用 Hook中每一次渲染都会捕获定义他们的那次渲染中的props和state,可以说Hook的每次渲染其实都生成了一套当前的独立的state和props总结:hooks是一种在纯函数的基础上演...
2021-02-01 11:18:34
275
原创 emoji VS unicode
emoji => unicodefunction encodeUnicode(str) { var res = []; for ( var i=0; i<str.length; i++ ) { res[i] = ( "00" + str.charCodeAt(i).toString(16) ).slice(-4); } ...
2019-12-15 17:19:40
216
原创 跨域的解决方案
近期发现了,新的方式来解决跨域问题,方便快捷,记录一下iHost明确一点,地址栏输入域名后,会发送到DNS服务器,DNS会解析出对应的IP地址。依靠DNS解析,效率会下降。输入域名后,电脑会最先解析本地的host,查找是否存在域名和IP地址的映射,如果不存在,则会继续到iHost进行查找。如果找到,时间上少去DNS的解析时间。iHost的作用便是存储域名和IP地址的映射。...
2019-12-15 17:10:05
313
原创 从根源阐述浏览器自发options请求问题
意外碰到了浏览器自发options请求问题,从懵逼到通,仅以此文来对自己的探索做个总结,同时配以另外一个深度篇讲述跨域遇到的问题和解决方式发起options的理由-Cors跨域方式: jsonp, ajax, cors 发展不再赘述,重点看cors的运行机制Cors原理阐述:cors是结合浏览器和服务器存在的一种跨域机制,分为简单请求和复杂请求 ...
2019-12-15 15:30:07
572
原创 控制台的格式如何完整输出在页面上?
最近在处理后端返回的数据时,遇到一个问题,解码后的json在控制台输出之后是格式化,但是在页面上打印的时候,并不是,改了一下午的格式,猛回头,原来如此,绕在自己优秀的思维里无法自拔,浪费很多时间.一般情况有三种转格式的方法escape: 对除ASCII字母、数字、标点符号 @ * _ + - . / 以外的其他字符进行编码。encodeURL:返回编码为有效的统一资...
2019-12-11 21:51:39
769
原创 setSatate背后的秘密(一)
区别于Vue的数据变化导致页面及时变更,而React的这种现象则是通过setState手动控制,setSate在React的生命周期如何变化以及setState的批量处理是怎样的神秘,以下一一解答。React的生命周期1 初始化过程 construct ->componentWillMount(此刻未挂载) -> render(挂载) -> ...
2019-11-12 22:34:16
387
原创 scroll事件详解
以前眼高手低,不够扎实,面试的时候总是处理过,却想不出来细节,这次开始慢慢整理,蜗牛继续爬坡CSS一般情况下,如果出现内容大于浏览器的时候,需要添加样式 overflow:scroll关于scroll的样式有以下可以根据需求调整:滚动条的设置1. ::-webkit-scrollbar 滚动条整体部分,可以设置宽度等2. ::-webkit-scrollbar-butt...
2019-09-19 12:15:35
2816
原创 router-link使用query和params的区别
使用router-link的时候,携带参数有两种方式,query是根据path进行跳转的,而params是根据name进行跳转的,获取方式都相同query: 地址栏会在名称后面添加问号同时链接参数以及内容<ul class="locationHot"> <router-link tag="li" v-for="itemcity in item.citi...
2019-07-15 20:51:03
1095
原创 移动h5常用属性
总结一下属性:常用属性 safari浏览器私有meta属性 uc浏览器私有meta属性 qq浏览器私有meta属性常用属性:<meta name="viewport" content="width=device-width, //宽度为设备宽度 initial-scale=1.0, //初始的缩放比例 ...
2019-07-09 18:18:48
267
原创 移动端fastClick使用
延迟产生的原因: 从点击屏幕的元素到触发元素的click事件,移动端大概会有300ms的等待时间,以明确判断用户是否是进行双击操作。安装fastClick的两种方式 1:npm install fastclick 后引入文件import FastClick from 'fastclick' 2:也可以在页面直接引入fastclick<...
2019-07-04 16:13:40
493
2
原创 ajax、fetch和axios的详细区别以及优缺点
比较之后,在不同场合选取不同的调取方法1: jquery ajax$.ajax({ type: 'POST', url: url, data: data, dataType: dataType, headers: {userToken:token}, success: function() {}, error: functio...
2019-06-28 16:04:19
620
原创 JS详解Cookie、LocalStorage和SessionStorage
基本概念CookieCookie顾名思义,非常小,大小在4KB左右。主要用途是保存登录信息,比如登录一个网站市场,是可以看到“记住密码”,这通常就是通过在Cookie中存入一段辨识用户身份的数据来实现的。Cookie机制: 如果不在浏览器中设置过期时间,cookie被保存在内存中,生命周期随着关闭而结束,这种cookie简称cookie会话。如果在浏览器中设置了cookie的过期时...
2019-06-27 18:04:25
2382
1
原创 JavaScript常见问题总结
1 如何创建、删除、查找节点 createElement() createTextNode() appendChild() removeChild() replaceChild() insertBefore() getElementById() getElementByTagName()2 JavaScript 用typeof 来判断数据类型,只能区别基...
2018-07-15 12:48:22
419
原创 CSS常见问题总结
1 position的值有哪些 relative absolute fixed static(默认值 无定位) relative 相对于最接近的有定位的父元素进行定位2 css 有哪些居中方式 1 margin: auto auto; 2 display: table-cell ; vertical-align: center; text-align: center; ...
2018-07-13 16:10:07
764
原创 杂谈
1. 在给某一段文字的某些固定位置变换样式的时候采用数组的形式为切割开的每一段文字添加样式 案例如下: list[i].index 代表从哪里开始要变样式 list[i].value 表示变化的内容for(var i = 0; i < list.length; i++){ const span1 = val.slice(lastIndex, Number(list[i]....
2018-06-29 17:49:57
127
原创 react-fetch详谈
React-Fetch引言: fetch在React-js中相当于XMLHttpRequest,它提供了许多与XMLHttpRequest相同的功能,但被设计成更具可拓展性和高效性。XMLHttpRequest在发送web请求时需要开发者配置相关请求信息和成功后的回调,尽管开发者只关心成功后的业务处理,但是也要配置繁琐的内容,导致配置和调用比较混乱,也不符合关注分离的原则,fetch...
2018-05-28 16:38:24
10842
原创 React-ajax-解决异步小技巧-异步下beforeSend小用法
异步问题1. 设置setTimeout来延迟下一步操作的执行时间,来解决ajax网络请求和下一步操作的异步冲突。需要注意的是,定时器的时间设 置一定要大于等于网络请求的时间。 代码如下:// 定义状态机 constructor(props, context) { super(props, context); this.state = { ...
2018-05-23 17:57:25
1568
原创 跨域问题解决
什么是跨域? 跨域是指从一个域名的网页去请求另一个域名的资源。 只要两个网页,端口、域名和协议之中有任何一个不同,就被当作是跨域解决跨域问题的三种方法 1 使用jsonp js代码$.ajax({ type: "get", async: false, url: "https://public-api.wordpress.com/rest/v1...
2018-05-22 18:28:27
544
原创 ajax传输数据-FormData
通过传统的form表单提交的方式上传<form id= "uploadForm" action= "http://localhost:8080/cfJAX_RS/rest/file/upload" method= "post" enctype ="multipart/form-data"> <h1 >测试通过Rest接口上传文件 </h1&
2018-05-22 17:34:28
4217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人