簡體   English   中英

react-hook-form 中錯誤 object 的動態擴展

[英]Dynamic extensions to errors object in react-hook-form

React-hook-form通過 useForm 提供了一個錯誤 object。 由於檢查錯誤取決於輸入字段的名稱屬性(類似於{errors.title?.type === "require" && <p>Title required</p>} )並且我動態創建輸入字段名稱,我也需要以某種方式動態設置擴展名。
{errors.title?.type === "require" && <p>Title required</p>}與表單字段一起創建。 每個新的表單域都有一個來驗證它。

因為errors.title可能是errors.title_3 ,所以:

{errors.

標題 <--這部分需要是動態的,可能取決於道具或 state 等。

?.type === "require" && <p>Title required</p>}

我非常努力地解決這個問題。 我嘗試了使用eval()來獲取 function 的字符串作為邏輯的不同變體。 它動態地創建了邏輯,但是當出現表單字段錯誤以顯示錯誤時它沒有重新呈現。 所以<p>Title required</p>被創建了。 不知道為什么。
我也試圖通過 useState 和 useEffect 讓它工作,但我做不到。 我在 web 中搜索了解決方案,但沒有找到任何解決方案。

解決方案可能是通過 react-hook-form、React 或解決方案可能只是基於 javascript。 我真的不知道。 經過幾個小時的嘗試,我只是感到困惑。

先感謝您。

我遇到了同樣的問題,我能夠使用錯誤消息組件解決它。 下面是一個代碼片段。

從“@hookform/error-message”導入 { ErrorMessage };

 <ErrorMessage
   errors={errors}
  name={dynamicNameGoesHere}
 />

我希望這可以幫助別人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM