Using Material UI with React Hook Form

@mui, Material UI v5.16, react-hook-form v7.53

引言

整合 React.v18 + Material UI v5 + React Hook Form v7。

導入 Material UI 實作高 UX 的使用者介面。

導入 react-hook-form 使實作表單的 validation 更簡便。

參考文章

這篇比較簡單,說明 material 與 react-hook-form 如作整合。

實作時的參考範例。看看別人如何整合的。

關鍵知識

各套件的基本知識自行參拜 google 大神。

不管 Material UI 還是 react-hook-form 都已以高階易用的套件了。在實務上建議自行整合它們會比較好。

當然也可以找到第三方整合 Material UI 與 React Hook Fome 的套件,只是應用到自己的專案時總是有 gutter 存在,這會使得程式碼變很肥、效率很差。細看這第三方整合它們的碼其實不難。

實務上。建議自己整合把這此 gutter 消除。

  • react 開發知識就不再重述了。

  • 主要在 Material UI 與 React Hook Form 整合的語法。

整合關鍵元件

§ useForm FormProvideruseFormContext元件

  • useForm 建構 react-hook-form。

  • FromProvider 把 formContext 分享到子孫層元件。useFormContext使與表單繫結。

§ Controller 中介繫結元件

若 react-hook-form 與底層 input 繫結用 regiseter 指令即可。 若要與高階元件繫結需透過 Controller 元件進行中介。

自 Controller 元件拿到的資源

  • field : 表單的這個欄位。

  • filedState: 這個欄位的編輯狀態。

  • formState: 此表單的狀態

程式紀錄

ATextField.tsx

AComboField.tsx

(先這樣)

Last updated