1 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
您基本上會(huì)收到此錯(cuò)誤,因?yàn)槟诓辉试S的異步上下文(更新?tīng)顟B(tài))中使用事件。如果將事件分配給局部變量并引用它,則可以避免此錯(cuò)誤。
如果我在字段中鍵入時(shí)設(shè)置“值”而不是“默認(rèn)值”,我會(huì)得到 [Object, object]
您的onChange
事件處理程序?qū)⑹盏揭粋€(gè)綜合事件對(duì)象和您傳遞給它的參數(shù)。使用您當(dāng)前的代碼,您將整個(gè)事件對(duì)象分配為字段值。
您updateMedicialProfileDetails
作為onChange
道具傳遞的方法不在您的問(wèn)題中,因此我以該updateProfileDetails
方法為例:
以下代碼應(yīng)該有效:
?const updateProfileDetails = (fieldName) => (event) => {
? ? const { value } = event.target;
? ? setProfile({ ...profile, mProfile: {...profile.mProfile, [fieldName]: value }});
? };
您通過(guò)此函數(shù)傳遞的名稱參數(shù)是不必要的,因?yàn)槟氖录?duì)象將具有可用的名稱屬性,因此您的代碼可以更新為以下內(nèi)容:
? <Input
? ? type="textarea"
? ? name="providerNotes"
? ? value={profile.providerNotes}
? ? onChange={onChange}
? ? oldValue={restoreData.providerNotes}
? />
事件處理程序:
? const updateProfileDetails = (event) => {
? ? const { name, value } = event.target;
? ? setProfile({ ...profile, mProfile: {...profile.mProfile, [name]: value }});
? };
添加回答
舉報(bào)