1 回答
TA贡献1829条经验 获得超6个赞
您基本上会收到此错误,因为您在不允许的异步上下文(更新状态)中使用事件。如果将事件分配给局部变量并引用它,则可以避免此错误。
如果我在字段中键入时设置“值”而不是“默认值”,我会得到 [Object, object]
您的onChange
事件处理程序将收到一个综合事件对象和您传递给它的参数。使用您当前的代码,您将整个事件对象分配为字段值。
您updateMedicialProfileDetails
作为onChange
道具传递的方法不在您的问题中,因此我以该updateProfileDetails
方法为例:
以下代码应该有效:
const updateProfileDetails = (fieldName) => (event) => {
const { value } = event.target;
setProfile({ ...profile, mProfile: {...profile.mProfile, [fieldName]: value }});
};
您通过此函数传递的名称参数是不必要的,因为您的事件对象将具有可用的名称属性,因此您的代码可以更新为以下内容:
<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 }});
};
添加回答
举报