09 2022 档案
摘要:开发者普遍认为状态是组件的一部分, 但是同时却又在剥离状态上不停的造轮子, 这不是很矛盾么? 对于一个最简单的文本组件而言 function Text(){ const [text, setText] = useState('载入') return (){ <p>{text}</p> } } 你觉得
阅读全文
摘要:提问:react项目中的JSX里,onChange={this.func.bind(this)}的写法,为什么要比非bind的func = () => {}的写法效率高? 声明: 由于本人水平有限,有考虑不周之处,或者出现错误的,请严格指出,小弟感激不尽。这是小弟第一篇文章,有啥潜规则不懂的,你们就
阅读全文
摘要:调用 setState 之后发生了什么 在代码中调用 setState 函数之后,React 会将传入的参数与之前的状态进行合并,然后触发所谓的调和过程(Reconciliation)。经过调和过程,React 会以相对高效的方式根据新的状态构建 React 元素树并且着手重新渲染整个 UI 界面。
阅读全文
摘要:React中constructor和getInitialState的区别? 两者都是用来初始化state的。前者是ES6中的语法,后者是ES5中的语法,新版本的React中已经废弃了该方法。 getInitialState是ES5中的方法,如果使用createClass方法创建一个Component
阅读全文
摘要:可以使用TypeScript写React应用吗?怎么操作? (1)如果还未创建 Create React App 项目 直接创建一个具有 typescript 的 Create React App 项目: npx create-react-app demo --typescript (2)如果已经创
阅读全文
摘要:React中keys的作用是什么? render () { return ( <ul> {this.state.todoItems.map(({item,i}) => { return <li key={i}>{item}</li> })} </ul> ) } 在React Diff算法中React
阅读全文
摘要:Redux 和 Vuex 有什么区别,它们的共同思想 (1)Redux 和 Vuex区别 Vuex改进了Redux中的Action和Reducer函数,以mutations变化函数取代Reducer,无需switch,只需在对应的mutation函数里改变state值即可 Vuex由于Vue自动重新
阅读全文
摘要:(在构造函数中)调用 super(props) 的目的是什么 在 super() 被调用之前,子类是不能使用 this 的,在 ES2015 中,子类必须在 constructor 中调用 super()。传递 props 给 super() 的原因则是便于(在子类中)能在 constructor
阅读全文
摘要:传入 setstate函数的第二个参数的作用是什么? 第二个参数是一个函数,该函数会在 setState函数调用完成并且组件开始重渲染时调用,可以用该函数来监听渲染是否完成。 this.setstate( { username: "有课前端网", }, () => console.log("re-r
阅读全文
摘要:在使用 React Router时,如何获取当前页面的路由或浏览器中地址栏中的地址? 在当前组件的 props中,包含 location属性对象,包含当前页面路由地址信息,在 match中存储当前路由的参数等数据信息。可以直接通过 this .props使用它们。 类组件与函数组件有什么异同? 相同
阅读全文
摘要:react 的优化 shouldcomponentUpdate pureCompoment setState CPU的瓶颈(当有大量渲染任务的时候,js线程和渲染线程互斥) IO的瓶颈 就是网络(如何在网络延迟客观存在的 情况下,减少用户对网络延 迟的感知)(Code Splitting • Dat
阅读全文
摘要:应该在 React 组件的何处发起 Ajax 请求 在 React 组件中,应该在 componentDidMount 中发起网络请求。这个方法会在组件第一次“挂载”(被添加到 DOM)时执行,在组件的生命周期中仅会执行一次。更重要的是,你不能保证在组件挂载之前 Ajax 请求已经完成,如果是这样,
阅读全文
摘要:React setState 调用的原理 具体的执行过程如下(源码级解析): 首先调用了setState 入口函数,入口函数在这里就是充当一个分发器的角色,根据入参的不同,将其分发到不同的功能函数中去; ReactComponent.prototype.setState = function (pa
阅读全文
摘要:解释 React 中 render() 的目的。 每个React组件强制要求必须有一个 render()。它返回一个 React 元素,是原生 DOM 组件的表示。如果需要渲染多个 HTML 元素,则必须将它们组合在一个封闭标记内,例如 <form>、<group>、<div> 等。此函数必须保持纯
阅读全文
摘要:fetch封装 npm install whatwg-fetch --save // 适配其他浏览器 npm install es6-promise export const handleResponse = (response) => { if (response.status 403 || re
阅读全文
摘要:在构造函数调用 super 并将 props 作为参数传入的作用 在调用 super() 方法之前,子类构造函数无法使用this引用,ES6 子类也是如此。 将 props 参数传递给 super() 调用的主要原因是在子构造函数中能够通过this.props来获取传入的 props 传递了prop
阅读全文
摘要:OSI七层模型 ISO为了更好的使网络应用更为普及,推出了OSI参考模型。 (1)应用层 OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。 在客户端与服务器中经常会有数据的
阅读全文
摘要:typeof NaN 的结果是什么? NaN 指“不是一个数字”(not a number),NaN 是一个“警戒值”(sentinel value,有特殊用途的常规值),用于指出数字类型中的错误情况,即“执行数学运算没有成功,这是失败后返回的结果”。 typeof NaN; // "number"
阅读全文
摘要:CSS 优化和提高性能的方法有哪些? 加载性能: (1)css压缩:将写好的css进行打包压缩,可以减小文件体积。 (2)css单一样式:当需要下边距和左边距的时候,很多时候会选择使用 margin:top 0 bottom 0;但margin-bottom:bottom;margin-left:l
阅读全文
摘要:常见的HTTP请求方法 GET: 向服务器获取数据; POST:将实体提交到指定的资源,通常会造成服务器资源的修改; PUT:上传文件,更新数据; DELETE:删除服务器上的对象; HEAD:获取报文首部,与GET相比,不返回报文主体部分; OPTIONS:询问支持的请求方法,用来跨域请求; CO
阅读全文
摘要:vue-router vue-router是vuex.js官方的路由管理器,它和vue.js的核心深度集成,让构建但页面应用变得易如反掌 <router-link> 组件支持用户在具有路由功能的应用中 (点击) 导航。 通过 to 属性指定目标地址 <router-view> 组件是一个 funct
阅读全文
摘要:说一下HTTP 3.0 HTTP/3基于UDP协议实现了类似于TCP的多路复用数据流、传输可靠性等功能,这套功能被称为QUIC协议。 流量控制、传输可靠性功能:QUIC在UDP的基础上增加了一层来保证数据传输可靠性,它提供了数据包重传、拥塞控制、以及其他一些TCP中的特性。 集成TLS加密功能:目前
阅读全文
摘要:代码输出结果 var obj = { name : 'cuggz', fun : function(){ console.log(this.name); } } obj.fun() // cuggz new obj.fun() // undefined 使用new构造函数时,其this指向的是全局环
阅读全文
摘要:对 CSS 工程化的理解 CSS 工程化是为了解决以下问题: 宏观设计:CSS 代码如何组织、如何拆分、模块结构怎样设计? 编码优化:怎样写出更好的 CSS? 构建:如何处理我的 CSS,才能让它的打包结果最优? 可维护性:代码写完了,如何最小化它后续的变更成本?如何确保任何一个同事都能轻松接手?
阅读全文
摘要:TCP粘包是怎么回事,如何处理? 默认情况下, TCP 连接会启⽤延迟传送算法 (Nagle 算法), 在数据发送之前缓存他们. 如果短时间有多个数据发送, 会缓冲到⼀起作⼀次发送 (缓冲⼤⼩⻅ socket.bufferSize ), 这样可以减少 IO 消耗提⾼性能. 如果是传输⽂件的话, 那么
阅读全文
摘要:在地址栏里输入一个地址回车会发生哪些事情 1、解析URL:首先会对 URL 进行解析,分析所需要使用的传输协议和请求的资源的路径。如果输入的 URL 中的协议或者主机名不合法,将会把地址栏中输入的内容传递给搜索引擎。如果没有问题,浏览器会检查 URL 中是否出现了非法字符,如果存在非法字符,则对非法
阅读全文
摘要:浏览器的主要组成部分 ⽤户界⾯ 包括地址栏、前进/后退按钮、书签菜单等。除了浏览器主窗⼝显示的您请求的⻚⾯外,其他显示的各个部分都属于⽤户界⾯。 浏览器引擎 在⽤户界⾯和呈现引擎之间传送指令。 呈现引擎 负责显示请求的内容。如果请求的内容是 HTML,它就负责解析 HTML 和 CSS 内容,并将解
阅读全文