接口的兼容性 如果傳入的變量和聲明的類型不匹配,TS就會(huì)進(jìn)行兼容性檢查 原理是Duck-Check(一個(gè)對(duì)象,只要它會(huì)鴨子叫,那就當(dāng)它是鴨子),就是說(shuō)只要目標(biāo)類型中聲明的屬性...
接口的兼容性 如果傳入的變量和聲明的類型不匹配,TS就會(huì)進(jìn)行兼容性檢查 原理是Duck-Check(一個(gè)對(duì)象,只要它會(huì)鴨子叫,那就當(dāng)它是鴨子),就是說(shuō)只要目標(biāo)類型中聲明的屬性...
前言: 在 React 16.3 中, 新的生命周期函數(shù)被引入了, 即靜態(tài)方法 getDerivedStateFromProps. componentWillReceiveP...
2020.09.21, 1. 復(fù)習(xí)了contextAPI(Provider/Consumer);2. 高階組件(傳入一個(gè)組件,返回一個(gè)新組件, 比如logger組件),特別...
一、前言 緩存可以說(shuō)是性能優(yōu)化中簡(jiǎn)單高效的一種優(yōu)化方式了。一個(gè)優(yōu)秀的緩存策略可以縮短網(wǎng)頁(yè)請(qǐng)求資源的距離,減少延遲,并且由于緩存文件可以重復(fù)利用,還可以減少帶寬,降低網(wǎng)絡(luò)負(fù)荷。...
Promise.reject方法寫錯(cuò)了吧? constructor中的catch寫錯(cuò)了。
resolve方法(constructor中的),你還可以更進(jìn)一步:
let resolve = value => {
if(value instanceOf Promise){
value.then(resolve, reject)
}else{
this.status = "resolved";
this.value = value;
this.onResolvedCbs.forEach((fn) => fn());
}
}
}
手撕代碼之Promise的實(shí)現(xiàn)(附源碼)ES6已經(jīng)普及很多年了,也早已過(guò)了callback時(shí)代。公司的要求也不再是停留在promise的使用上了。本文就帶大家一起從零開始寫自己的 Promise,剖析其內(nèi)在原理。該...
1. 冒泡排序 2.選擇排序(每次選最小值的index) 3.插入排序 4.歸并排序 5. 快速排序 6.計(jì)數(shù)排序(只能排正整數(shù)) 7.桶排序(用于排序正整數(shù))
在vue中,在不考慮vuex的時(shí)候,組件的數(shù)據(jù)來(lái)源有兩個(gè), props和data。而在react中組件的數(shù)據(jù)來(lái)源也是兩個(gè),props和stateprops一經(jīng)傳入,那么便不能...
用jsx寫的代碼,babel會(huì)將其轉(zhuǎn)化為react的虛擬dom,如下圖: 可以看到,轉(zhuǎn)化后,是用 方法來(lái)生成dom的,它大約有3(更多)個(gè)參數(shù): , , , 那么它的執(zhí)行結(jié)果...
1.函數(shù)式組件 2. 類組件 組件名的首字母一定是大寫的,組件只有一個(gè)根元素 3.props的校驗(yàn) 在vue中也有props,是父組件傳遞給子組件的值,有時(shí)子組件中對(duì)值的格式...
上一節(jié),已經(jīng)完成了一套完整的ssr流程,但是server-entry.js的代碼還是有些不健壯 因此修改如下: 解決問(wèn)題!下一步,添加vuex新建store.js
上一節(jié)用很簡(jiǎn)單的代碼粗略的模擬了一下服務(wù)端渲染,這節(jié)來(lái)吧webpack加入進(jìn)來(lái)。 首先安裝包, webpack(核心打包應(yīng)用), webpack-cli(解析命令行參數(shù)), ...
什么是服務(wù)端渲染呢?我們平時(shí)做的vue單頁(yè)面應(yīng)用都是客戶端渲染,即前端渲染。很早的時(shí)候,用chtml,jsp等等,丟給后臺(tái),讓后臺(tái)返回頁(yè)面給前端,這樣就是服務(wù)端渲染。它們各有...
當(dāng)回調(diào)函數(shù)開銷較大時(shí),這樣很浪費(fèi)性能,比如頁(yè)面有多個(gè)echarts圖表,頁(yè)面resize時(shí),echarts也resize。上代碼: 可以看到,窗口大小變化不大,但resize...