都說react和微信小程序很像,但是像在什么部分呢,待我稍作對比。
生命周期
1.React
React的生命周期在16版本以前與之后發生了重大變化,原因在於引入的React Fiber
,Fiber的引入是為了解決龐大的組件樹在更新的時候產生的性能問題。我們知道,組件樹是一層一層的,在更新的時候,同樣也是一層一層深入的,對於層級特別深的組件樹,無疑需要耗費大量的時間,用戶若在這段時間內進行操作,由於主線程用於UI更新,會無暇顧及用戶的操作。而Fiber將一個耗時很長的任務分解成一個一個小片,每完成一個小片就去檢查現在是否有需要執行的緊急任務,而Fiber就是維護分片的數據結構。
但是Fiber的出現會造成反復渲染的情況,所以生命周期需要作出改變
圖片來自於 https://medium.com/@baphemot/understanding-react-react-16-3-component-life-cycle-23129bc7a705
- getDerivedStateFromProps為一個純函數,可以進行無副作用的操作
- ajax一類的操作放在componentDidUpdate中
2.微信小程序
微信小程序的生命周期我們可以從文檔中略知一二
我們在新建一個頁面的時候,會實例化一個page,里面有onLoad等等的函數
事件處理
- React
React的事件處理並非同步的,這也是使用setState
的原因。根據變量isBatchingUpadates判斷為直接更新還是放在隊列中,默認狀態為false,也就是同步更新
2.微信小程序
微信小程序中使用setData
更新數據,基本格式相同
組件
兩者都有組件化的概念,不過在學習中,小程序涉及的好像並不多。