useFirstMountState
返回組件是否剛剛掛載的 React Hook
useFirstMountState 回傳一個布林值,指示當前渲染是否是元件的首次掛載(首次渲染)。首次渲染時回傳 true,後續渲染回傳 false。
使用場景
- 在首次渲染和後續渲染之間有條件地執行不同邏輯
- 跳過元件掛載時的動畫或過渡效果
- 區分初始資料載入和後續更新
注意事項
- 僅追蹤首次渲染:值在首次渲染後永遠為
false,且不會改變。 - 輕量:使用 ref 追蹤,不觸發額外的重新渲染。
- 相關 hooks:另請參閱
useMountedState追蹤元件是否已掛載,以及useUpdateEffect跳過首次渲染的 effect。
Usage
Live Editor
function Demo() { const isFirstMount = useFirstMountState(); const [render, reRender] = useState(0); return ( <div> <span>這個組件剛剛掛載: {isFirstMount ? "是" : "否"}</span> <br /> <button onClick={() => reRender(1)}>{render}</button> </div> ); };
Result
API
useFirstMountState
Returns
boolean: 組件是否剛剛掛載的布爾值