【发布时间】:2021-10-31 22:31:57
【问题描述】:
我有用于 formik 输入的自定义组件,如果存在,我会在其中呈现错误标签。
如果我像这样打印它:{errors[field.name]} 它可以工作
但是 {t(errors[field.name]?.toLocaleString())} 这不是。
import { FieldProps, FormikErrors } from "formik";
import { useTranslation } from "react-i18next";
const InputField: React.FC<InputFieldProps & FieldProps> = ({
field,
form: { touched, errors },
type,
label,
...props
}) => {
const { t } = useTranslation();
return (
<div>
<label
htmlFor={field.name}>
{label}
</label>
<input
type={type}
{...field}
{...props}/>
{touched[field.name] && errors[field.name] && (
<div>
<p>
{errors[field.name]}
{t(errors[field.name])} <---- this does not work
</p>
</div>
)}
</div>
);
};
export default InputField;
我收到错误:
Argument of type 'string | FormikErrors<any> | string[] | FormikErrors<any>[] | undefined' is not assignable to parameter of type 'TemplateStringsArray | Normalize<{test: 'test'}> | (TemplateStringsArray | Normalize<...>)[]'.
【问题讨论】:
-
你能展示一下你是如何渲染
InputField的吗?了解所有内容的来源会很有帮助 -
请分享
InputFieldProps类型
标签: typescript formik react-i18next