2019-03-25
前端快爆
- V8 7.4 釋出。此版本支援了 JIT-less 啟動模式 、WebAssembly Threads 以及私有類成員屬性語法
#field
,並優化了函式形參實引數不匹配、原生訪問器讀寫、流式解析等場景的效能表現。?
點評:Chrome 74 將帶著 V8 7.4 核心一起正式釋出,這麼難看的語法已經快要被正式支援了
- Chrome 74 起,將試驗性支援 kv-storage 作為一個標準庫。標準庫提案旨在提供不用下載即可使用的二方庫,而 kv-storage 則旨在為 IndexedDB 提供簡單的 kv 讀取介面。?
點評:標準庫提案是一個爭議較大的提案,大家是不是覺得 std:jquery 和 std:lodash 更加重要?現在的搞法更像是 BOM 的模組化實現。
- decorator 提案再次大改,現在版本的 decorator 將提供 4 個基礎方法函式
@wrap
,@register
,@expose
和@initialize
,並支援 decorator 的直接匯入匯出如export decorator @logged
。?
點評:不知道依賴 decorator 的那些庫睡覺睡得踏實嗎
百寶箱
- React Redux 釋出了 7.0.0-beta 版本,在其中實現了
useRedux
介面,並解決了其 v6 版本帶來的資料更新遍歷 Provider 所有子樹節點的效能問題。?
點評:為嘛不在 6.0 就提供了 Hooks 版本呢,原因在下面的專題部分有講
點評:為什麼看起來這麼像是 markdown 版本的 jsbin
-
Handtrackjs 是一款前端進行實時手勢識別的庫,基於 Tensorflow.js 並封裝了訓練資料。?
-
React-Router 5 已經發布,Route 支援 array 作為 path 輸入值了。?
點評:不過還是不支援 hooks
專題:React Hooks
React 一直在尋找更加貼合 UI 開發過程的心智模型,React Hooks 是他們最新的思路。程式設計方式的巨大變化下,已有的需求需要通過 React Hooks 重新解決。在 React Hooks 正式釋出一個半月以後,我們將進行簡單的回顧。
簡述
官方文件
對 React Hooks 要解決的問題、使用方式、帶來的好處做了簡要介紹
簡述了 Function Component + Hooks 怎樣替代掉 Class Component
通過具體需求的例子,描述了 Function Component 和 Class Component 開發過程中主要的心智模型區別
實踐
React Hooks 實踐集錦站點,收集了很多易懂的 React Hooks 實現方式
對 React Hooks 的社群輪子進行了有效的分類,包括 DOM 副作用、動畫、請求、表單、生命週期模擬、資料儲存和原有庫封裝
前文比較了定時器需求中的
useState
、useEffect
、useReducer
和useRef
的四種實現方式,正好遍歷了主要的 React Hooks API。後文講述了另一個定時器需求,比較了useEffect
、useLayoutEffect
和useReducer
三種實現,解釋了為何非同步的useEffect
會導致閉包變數讀取問題
進階
本文從與 React Hooks 相抗的多個提案中抽取了 8 個主要問題,並進行了詳盡的解釋
本文主要解釋了 useEffect 的所有表現的內在原因,而在這個表現下我們如何利用第二參——React 無法 diff 兩次 useEffect 的函式上下文,它的第二引數用於比對依賴的場景。
簡述了 useCallback 的適用場景和侷限性
本文主要解釋了 React Redux 之前基於 Context 的 API 如何導致了效能問題,而這個效能問題如何阻礙了 React Redux Hooks 的出現的
編輯:承虎 & 審閱:一絲 & 霍雍 & 專題供稿:承虎
題圖來源:hackernoon.com/react-hooks…