React的規則
React 的規則 – React 繁體中文
React のルール – React
React的規則
保持元件和Hooks的純粹性
元件和Hooks要是冪等的
冪等
React元件對於輸入(props、states及context)必須總是以回傳相同結果為前提
副作用要在render函式外執行
副作用不應該在render函式中執行
React可能會為了最佳UX多次算繪元件
props和狀態是不可變的
元件的props和狀態是針對單一算繪的不可變snapshot,不可直接修改
Hooks的參數和回傳值是不可變的
一旦傳遞值給Hooks後就不可修改
傳遞給Hooks的值和JSX的props相同,是不可變的
傳遞進JSX內的值是不可變的
在JSX使用值後不可再修改
修改動作應移到建立JSX之前
由React呼叫元件與Hooks
不直接呼叫元件函式
元件只能用在JSX中,不可作為一般函式呼叫
不把Hooks當成一般值傳遞
Hooks只能在元件中呼叫,不可作為一般值傳遞
Hooks的規則
只在頂層呼叫Hooks
不可在迴圈、條件或巢狀函式中呼叫Hooks
應該總是在React函式的頂層,在任何提早return之前使用Hooks
只從React函式呼叫Hooks
不可從一般的JavaScript函式中呼叫Hooks