我正在为我的应用程序使用React-typescript。对于我的应用程序,我使用了useTranslation。useTranslation在功能组件中工作得很好。我已经创建了经过验证的自定义错误处理程序,它位于功能组件之外。当我使用useTranslation逻辑时,它确实起作用了,并告诉我:参数声明是预期的。我不知道我做错了什么。
const validate = (i: IFormStateValues<IData>, t: any) => {
const errors: IFormStateErrors<IData> = {};
if (!i?.name) {
errors.name = {t(`notValidLengthError`)}; //ERROR:Parameter declaration expected
}
return errors;
};发布于 2020-05-25 19:08:03
修复它的最简单方法是传播t
const validate = (i: IFormStateValues<IData>, t: any) => {
const errors: IFormStateErrors<IData> = {};
if (!i?.name) {
errors.name = {...t(`notValidLengthError`)}; //ERROR:Parameter declaration expected
}
return errors;
};但是我不知道这是什么,我会告诉你发生了什么,打字和我有同样的问题
errors的属性名是由一个没有任何属性的对象初始化的,我假设t是一个返回值的函数,但是errors.name是一个空对象。那里的TS不喜欢这样。将值设置为没有属性的空对象,并在其中设置新的调用值。
https://stackoverflow.com/questions/62000956
复制相似问题