3 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊
我找到了一種解決方案,也許它會(huì)對(duì)某人有所幫助。您需要initialValues為 formik 創(chuàng)建動(dòng)態(tài)為:
let passwordId = 'password-'+ idx ;
let firstNameId = 'firstName-'+ idx;
let lastNameId = 'lastName-'+ idx;
let zipCodeId = 'zipCode-'+ idx;
return (
<Formik
key={idx}
initialValues={{
email: props.wrapperForm[idx].email || '',
[passwordId]: props.wrapperForm[idx].password || '',
[firstNameId]: props.wrapperForm[idx].firstName || '',
[lastNameId]: props.wrapperForm[idx].lastName || '',
[zipCodeId]: props.wrapperForm[idx].zipCode || ''
}}
>
)

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
閱讀以上所有評(píng)論真的很有幫助,尤其是在理解 react 中表單元素中不受控制和受控組件之間的基本區(qū)別。但是,在將 InitialValues 作為屬性添加到 Formik 后,我得到了同樣的錯(cuò)誤。這讓我想到了這樣一個(gè)事實(shí),即每當(dāng)反應(yīng)將表單輸入視為不受控制(在 DOM 中控制)并結(jié)合反應(yīng)組件中的狀態(tài)更改功能時(shí),就會(huì)發(fā)生錯(cuò)誤。事實(shí)上,我收到了錯(cuò)誤,因?yàn)樵谖业?react useState 鉤子中初始化的變量名稱與我用作表單輸入鍵的表單上的 name 屬性不同。如果在 Formik 上添加 InitialValues 屬性后出現(xiàn)相同的錯(cuò)誤,則應(yīng)確保您的狀態(tài)變量與每個(gè)表單輸入上的名稱屬性相同。

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
我的表單上有一個(gè)字段,但沒(méi)有相應(yīng)的初始值。一旦我將字段添加到初始值(我使用靜態(tài)值,不必是道具),此錯(cuò)誤消息就消失了。
我注意到 ppb 的回答改變了initialValues
問(wèn)題中的字段名稱,也許這使它們匹配?
我假設(shè)當(dāng)指定初始值時(shí)組件是受控的,否則不受控制。
添加回答
舉報(bào)