原创 如何使用Git Rebase

我們在日常開發中使用 Git 做分支合併的時候有兩種方式:merge 和 rebase。merge 是最常用的,rebase 使用的沒有 merge 這麼多,那麼 rebase 和 merge 有什麼區別呢?什麼時候使用 rebase?使用

原创 前端項目請求層封裝過程

調用 ajax 取請求後端數據是項目中最基礎的功能。但是如果每次直接調用底層的瀏覽器 api 去發請求則非常麻煩。現在來分析一下怎麼封裝這一層,看看有哪些基礎問題需要考慮。本文底層使用 fetch ,如果你使用 XMLHttpRequest

原创 React16性能改善的原理(二)

前情提要 上一篇我們提到如果 setState 之後,虛擬 dom diff 比較耗時,那麼導致瀏覽器 FPS 降低,使得用戶覺得頁面卡頓。那麼 react 新的調度算法就是把原本一次 diff 的過程切分到各個幀去執行,使得瀏覽器在 di

原创 使用IndexedDB做前端日誌持久化

問題 頁面如果表現不符合預期,前端工程師在沒有 javascript 日誌的情況下,很難 debug。所以就需要針對必要的步驟記錄日誌,並上傳。但是每記錄一條日誌就上傳並不是一個合適的選擇,譬如如果生成日誌的操作比較密集,會頻繁產生上傳日誌

原创 React16性能改善的原理一

問題背景 React16 更新了底層架構,新架構主要解決更新節點過多時,頁碼卡頓的問題。譬如如下代碼,根據用戶輸入的文字生成10000行數據,用戶輸入框會出現卡頓現象。 class App extends React.Component {