React-Typescript-useTranslation:需要参数声明。 TS1138

React-Typescript-useTranslation: Parameter declaration expected. TS1138

我正在为我的应用程序使用 React-typescript。对于我的应用程序,我使用了 useTranslation. useTranslation works fine inside the functional component. I have created validated custom error handler which is outside of the functional component. when I used 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;
};

最简单的修复方法是传播 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;
};

但是我不知道它是什么,我会告诉你发生了什么,打字稿和我有同样的问题

错误的 属性 名称由一个没有任何属性的对象初始化我假设 t 是一个返回值的函数,但 errors.name 是一个空对象。 TS 不喜欢那样。将值设置为没有 属性 在哪里设置新的 invomming 值的空对象。