原创 react15-源碼演化-渲染原生組件(一)

渲染原生組件 該文介紹前提,已經通過create-react-app初始化項目。 由於React本身也是不斷演化出來的產品,因此該文的源碼跟官方並不完全一致。 意義在於核心思想跟react大體一致,以便於理解分析React源碼。

原创 react15-源碼演化-組件更新setState(三)

組件更新 組件更新判斷邏輯如下圖: 1. 合併state 1.1. src/index.js import React from './react'; import ReactDOM from './react-dom';

原创 react15-源碼演化-生命週期(五)

生命週期 1. 舊版生命週期 1.1. src/index.js import React from './react'; import ReactDOM from './react-dom'; class Counter ex

原创 react15-源碼演化-context和批量更新(六)

context和批量更新 1. 思路回顧,避免混淆 1.1. createDOM 和 虛擬DOM createDOM是創建真實的DOM元素,創建後通過element.dom = dom關聯,最終由parentNode的方法掛載到

原创 react15-源碼演化-核心總攬(七)

react15核心總攬 完成了react15的推演邏輯,之後的章節就是利用fiber實現react16 react15代碼放在這一章,測試代碼需要回顧之前幾章 src/react/component.js import { c

原创 react15-源碼演化-類組件和函數組件(二)

類組件和函數組件 1. src/index.js import React from './react'; import ReactDOM from './react-dom'; class ClassCounter extend

原创 react15-源碼演化-dom-diff(四)

dom-diff 1. 整體策略 1.1. 遞歸算法 深度優先遍歷: 先序 —> 父節點,左子樹,右子樹 中序 —> 左子樹,父節點,右子樹 後序 -> 左子樹,右子樹,父節點 注意: 先序、中序、後序指的是操作節點時,

原创 react16-渲染原生組件

渲染原生組件 該文介紹前提,已經通過create-react-app初始化項目。 由於React本身也是不斷演化出來的產品,因此該文的源碼跟官方不完全一致。 意義在於核心思想、大部分核心寫法,跟官方react16大體一致,便於理

原创 easy-mock搭建過程中,利用docker-compose運行easy-mock注意事項,重點是mongo版本錯誤導致構建失敗

該文默認你已了easy-mock,如果不瞭解,請移步easy-mock官網 。 該文意在強調利用docker-compose部署easymock時需要注意的問題。 (該文默認讀者已經懂得如何使用docker-compose,如不瞭解,

原创 mysql獲取某月所有日期列表

mysql獲取指定月份下所有日期,本人在項目實踐中,總結而來,網上其他參考讓人很苦惱,因此做完這個功能後果斷分享!方法一,一條SQL查詢,但效率地下:2000-02-01 爲輸入數據,其中01號固定寫死xxx_table需要確保至少有31