从函数将类型传递给React.SFC

时间:2019-03-27 10:42:03

标签: reactjs typescript

我正在尝试在我的React应用程序中创建一个表单组件,我想向它传递一个字段对象,然后在组件状态下对其进行处理。状态对象被传递给render函数,这样我就可以使用它来构建表单。

fields的类型为T,然后在各处使用,渲染函数作为fields传递给TsetValue函数使用{{1 }}作为field。显然,这显然需要从传递给keyof T的值中推断出T

fields

我只是想知道如何从函数中将interface FormProps<T = {}>{ fields: T children: <T>({ fields, setField }: { fields: T setField: (field: keyof T, value: any) => void }) => React.ReactNode onValid: (data: T) => void } export const Form: React.SFC<FormProps> = function<T>({children: render, fields, onValid}: FormProps<T>){ const [data, setData] = useState(fields) const setField = (field: keyof T, value: any) => { let newData = data newData[field] = value setData(newData) onValid(newData) } return render({ fields: data, setField }) } 转换为T的{​​{1}}类型参数

0 个答案:

没有答案