原创 @babel/plugin-proposal-class-properties

@babel/plugin-proposal-class-properties 一種類的properties的另外一種書寫方法,這裏的class properties指的是類的實例方法或者實例屬性、類的靜態方法或者靜態屬性。特別注意,如果

原创 深入理解ES6中super關鍵字(super作爲對象使用)

super關鍵字,有兩種用法,一種是:super作爲函數使用,具體介紹請進入深入理解ES5中super關鍵字(super作爲函用數使),另外一種是:super作爲對象使用。     要注意:在使用super的時候,必須要顯示的指定是作爲函

原创 深入理解ES6中super關鍵字(super作爲函數使用)

這一章,我將結合babel的轉化,來講解super的用法 super關鍵字,有兩種用法,要麼作爲函數調用,要麼作爲對象使用(深入理解ES6中super關鍵字(super作爲對象使用))。 作爲函數使用時,指向父類的構造函數; 作爲對象使用

原创 Redux源碼分析--Middleware(2)

上一部分介紹了在分析源碼過程中,出現的問題,及對它的解釋,如果你想了解,請進入middleware代碼分析延伸問題。 這一章,主要帶領你們去學習middleware的工作原理,瞭解了工作原理,才能更好的去使用它。 要想深入瞭解middle

原创 Redux源碼分析--Middleware(1)

Middleware可以意爲中間件,Reudx middleware作用於dispatch,豐富了dispatch的功能,也可以認爲是store enhancer(store增強器)。Redux Middleware主要工作在action

原创 Redux源碼分析--CreateStore(subscribe)

上一章介紹了Redux源碼分析--CreateStore(getState、subscribe),這一次介紹subscribe及其註銷監聽事件。如果分析的有問題,請及時提醒,謝謝。 整個createStore.js代碼中真正影響到stor

原创 對象的isPrototypeOf和Object.getPrototypeOf及如何判斷一個對象是普通對象

一、如何判斷一個對象是普通對象 在研究react-redux和redux源碼時,出現一個判斷對象是普通對象方法isPlainObject function isPlainObject(obj) { if (typeof obj !=

原创 useMemo

useMemo是針對一個函數,是否多次執行 useMemo主要用來解決使用React hooks產生的無用渲染的性能問題 在方法函數,由於不能使用shouldComponentUpdate處理性能問題,react hooks新增了useM

原创 聲明式渲染和命令式渲染

聲明式和命令式 聲明式:告訴“機器”,你想要什麼,不需要關心中間實現過程,我們只需要開始和結果 命令式:如果你想要什麼,你要告訴“機器”,並且還要告訴“機器”,怎麼做,開始、過程、結果都要有 下面,我們通過一個例子來說明     比如,我

原创 methods和http.METHODS區別

methods在npm中地址https://www.npmjs.com/package/methods methods模塊export一個包含了http methods的數組,就像http.METHODS。它和http.METHODS的區

原创 Express源碼分析1

通過require('express')會expose一個函數,暫時現成它爲express,儘量保持和require裏面的參數名一樣或者相式。 接着通過app = express(),我們可以實例化一個對象,它其實類似http.Serve

原创 map、forEach區別筆記

https://juejin.im/post/5c999386e51d456d246deea1 https://blog.fundebug.com/2018/02/05/map_vs_foreach/ 兩者結合

原创 react-router中Route組件的Component、render、children區別

<Route> 爲了更好的理解和學習react-router,在react-router中Route組件是最重要的一個組件。它的最基本的職責是:當path(路徑)和當前的URL匹配的時候,去渲染響應的UI Route渲染UI方法 <Rou

原创 __proto__和prototype圖解

__proto__:指向構造該對象的構造函數的原型 prototype:下面通過一個實例來說明原型鏈

原创 mac下在terminal中打開sublime text時出現的問題

問題:  進行完ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl  /usr/local/bin/subl之後,在終端上輸入subl -v 出現su