- 深入理解React Router:從原理到實踐
- 李楊韜
- 457字
- 2021-04-16 16:10:49
3.2 Hooks
React Hooks是React v16.8正式引入的特性,旨在解決與狀態有關的邏輯重用和共享等問題。
在React Hooks誕生前,隨著業務的迭代,在組件的生命周期函數中,充斥著各種互不相關的邏輯。通常的解決辦法是使用Render Props動態渲染所需的部分,或者使用高階組件提供公共邏輯以解耦各組件間的邏輯關聯。但是,無論是哪一種方法,都會造成組件數量增多、組件樹結構修改或者組件嵌套層數過多的問題。在Hooks誕生后,它將原本分散在各個生命周期函數中處理同一業務的邏輯封裝到了一起,使其更具移植性和可復用性。使用Hooks不僅使得在組件之間復用狀態邏輯更加容易,也讓復雜組件更易于閱讀和理解;并且由于沒有類組件的大量polyfill代碼,僅需要函數組件就可運行,Hooks將用更少的代碼實現同樣的效果。
React提供了大量的Hooks函數支持,如提供組件狀態支持的useState、提供副作用支持的useEffect,以及提供上下文支持的useContext等。
在使用ReactHooks時,需要遵守以下準則及特性要求。
·只在頂層使用Hooks。不要在循環、條件或嵌套函數中調用Hooks,確保總是在React函數組件的頂層調用它們。
·不要在普通的JavaScript函數中調用Hooks。僅在React的函數組件中調用Hooks,以及在自定義Hook中調用其他Hooks。
推薦閱讀
- 人人都是網站分析師:從分析師的視角理解網站和解讀數據
- MySQL數據庫基礎實例教程(微課版)
- Windows內核編程
- 微服務架構深度解析:原理、實踐與進階
- 鴻蒙OS應用編程實戰
- ASP.NET求職寶典
- Delphi開發典型模塊大全(修訂版)
- WCF技術剖析(卷1)
- Microsoft Exchange Server 2016 PowerShell Cookbook(Fourth Edition)
- 算法精解:C語言描述
- Getting Started with JUCE
- Spring Web Services 2 Cookbook
- Mastering PostgreSQL 11(Second Edition)
- Mobile Test Automation with Appium
- Learning Zimbra Server Essentials