【发布时间】:2021-08-19 18:58:16
【问题描述】:
我在将 useFormik 用于 typescript 时遇到了一个错误,有人可以帮忙吗?非常感谢。
在const value = formik.values[field.name]; 行中,我收到此错误:
元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型“{名称:字符串;描述:字符串;颜色:字符串; }'。
const fields = [
{name: 'name', label: 'GENERAL.NAME'},
{name: 'description', label: 'GENERAL.DESC'},
{name: 'color', label: 'GENERAL.COLOR'}
];
export const Create: React.FC = () => {
const {loading} = useSelector<RootState>(
(state) => state.calendarReducer,
shallowEqual
) as CalendarState;
const formik = useFormik({
enableReinitialize: true,
initialValues: {name: '', description: '', color: Constants.COLORS.AppleRed},
onSubmit: (values) => {
console.log(values);
}
});
return (
<form className='form' onSubmit={formik.handleSubmit}>
{fields.map((field, index) => {
const value = formik.values[field.name];
return (
<div
key={index}
className='sm-6 md-4 lg-3 my-3 d-flex justify-content-between align-items-center'
>
<label className=''>
<FormattedMessage id={field.label} />
</label>
<TextField
disabled={loading}
fullWidth={false}
name={field.name}
onChange={formik.handleChange}
value={'xxxxxx'}
variant='standard'
/>
</div>
);
})}
</form>
);
};
【问题讨论】:
标签: typescript formik