【发布时间】:2022-01-12 23:40:20
【问题描述】:
我有以下界面:
export interface DataResponse {
user_id: string;
name: string;
phone_number: string;
country: string;
}
用作通过反应查询获取数据的类型。 如果有数据,我正在使用 useEffect 填充字段:
useEffect(() => {
if (userData) {
Object.entries(userData).forEach(
([name, value]) => setValue(name, value));
}
}, [setValue, userData]);
userData 的类型是 DataResponse... 当我使用 setState(name, value) 设置值时,它会在名称下划线并引发以下错误:
Argument of type 'string' is not assignable to parameter of type | "name" | "phone_number" | "country"
【问题讨论】:
-
为什么要在迭代对象时更新状态?是用于更新本地状态的 setValue 吗?如果是这样,只需执行
setValue(userData)并将您的状态视为对象。 -
它的react hook表单函数
标签: reactjs typescript react-hook-form