算法基礎比較薄弱,跑了好多次才跑通~
- React 由於發布早形成了一定的優勢,成為了標準,但在敏捷性和適應性上也有一些嚴重的缺點。2013 年以後它的每一個決定都是另一層技術債,而它的競品則沒有這些限制
- 關於生態系統的問題:我們被 “訓練” 得認為包都是框架特定的,React 加速了這個觀點,做什麼事情都是找到 React 的包,而不是原生 JS 包。於是 React 的規則、狀態管理、組件生命週期之類的都帶進來了,和這一套不相容的就不太 work 或不太方便。但不應該這樣,一切都只是 JS,那理應只要是 JS 的東西都能納入進來。(當然對 Svelte、Vue 之類的框架來說也是這樣,但只有 React 在這方面是最笨重的,其它的一些框架適應性更強,不會有類似渲染生命週期之類的問題,這些框架共同的選擇就是使用了 web components)。Preact 的 Signal 就是一個例子,儘管是給它自己用的,但也可以用在任意其它框架中,甚至是原生 JS 中。 Web Components 也是一樣,兼容於任何非 React 框架
- React Hooks 過時了:Hooks 不再是優勢,它是基線,常規方式。其它框架也有類似的東西,但更快、更容易使用和書寫
- 你不再需要在細微層面上管理渲染:比如
useMemo
和useCallback
的區別、useEffect
的依賴和生命週期理解。在其它框架中不需要操心這些,它們更聰明,只會更新值而不是持續地更新不需要更新的東西 - 可處理大規模複雜應用不再是必要的關注點:React 並不是前端應對大規模複雜應用的最佳、唯一甚至是第一個解決方案,它只是同一範式的許多可能版本之一,也是個古老的版本,其它現代競品框架同樣能應對這個問題
- 服務端渲染不再特別:除了 React 大多數玩家也支持服務端渲染了
- 雙向數據綁定不難也不糟糕:React 是單向數據流,所以使用表單很麻煩。雙向數據流就沒有這些問題,而且雙向數據流造成的一些問題在長時間的迭代中也解決了
- 處理樣式很簡單:React 的樣式沒有內置優雅的方案,但在 Vue 和 Svelte 中,這個問題內置已經解決了,它們都有組件級作用於,而且在 React 中能用的方案也可以在它們中兼容
- 框架不再那麼難學了:React 狀態管理、屬性、嵌套、生命週期、hooks、JSX,學習起來並不友好。現在的新框架已經簡單好學得多了
- 作者對 Svelte 和 Vue 兩個編譯時框架比較推崇
T:CodeBox
一個隔離的 Python 沙箱運行環境,可以用來實現 ChatGPT Code Interpreter。
S:閱讀《最高學以致用法》 的一些記憶
輸出與輸入的時間比例最好控制在 70% 比 30%,輸出才是 “有效” 的學習,光有輸入沒有輸出等於沒學,也記不住。
Reference: