Hook 的東西不太可能用幾篇就可以全部介紹完畢,所以在這邊先列出一些使用 Hook 時可能要注意的地方,再慢慢將這些知識點給補上。在第二章節介紹 Hook 有哪些功能,以及要注意的規則。而在第三章則是整理了使用 Hook 會遇到的問題。
使用 Hook 不是只有useState
和useEffect
,它還有其他的功能可以使用,目前正慢慢地消化吸收中~
基礎的 Hook
useState
useEffect
useContext
額外的 Hook
useReducer
useCallback
useMemo
useRef
useImperativeHandle
useLayoutEffect
useDebugValue
useDeferredValue
useTransition
useId
Library Hooks
useSyncExternalStore
useInsertionEffect
列表可以參考 React 官網【1】查詢。
Hook 的使用規則有下列兩點:
只在最上層呼叫 Hook
。只在 React Function 中呼叫 Hook
。
資料來源可以參考 React 官網【2】查詢。
ESLint
這個 Plugin 可以強制執行上一個小節的 2 個 Hook 規則,可用下列指令加入到你的專案中。
npm install eslint-plugin-react-hooks --save-dev
值得注意是
Create React App
預設包含此 plugin。
關於ESLint 配置
{
"plugins": [
// ...
"react-hooks"
],
"rules": {
// ...
"react-hooks/rules-of-hooks": "error", // 檢查 Hook 的規則
"react-hooks/exhaustive-deps": "warn" // 檢查 effect 的相依性
}
}
採用策略
從 Class 到 Hook
效能最佳化
深入理解
資料來源可以參考 React 官網【3】查詢。
本篇介紹了 React 的 Hook 相關的文件,這些資料大多來自於 React 的官方網站,如果需要看更詳細的資訊,可以上官網查詢。而這裡主要是整理出一個學習路徑,讓我們在學習 Hook 時,不至於找不到學習方向。關於 React 的簡單入門就先寫到這邊,等到我熟悉了 Hook 的用法時,應該會在寫一個系列來好好介紹 React ~那麼,今天的內容就先到這邊結束,我們明天見!
原本想寫個 5 篇 React 文章的介紹,如果要深入理了解程式原理,可能會影響到鐵人賽寫文章的時間,在權衡利弊之下,決定先結束掉 React 系列。