【问题标题】:Eslint react/prop-types error with TypeScript使用 TypeScript 的 Eslint react/prop-types 错误
【发布时间】:2020-10-30 02:46:17
【问题描述】:

我收到 Eslint 错误:'age' is missing in props validation eslint (react/prop-types) 使用以下看似有效的示例将 extends 用于 React 组件的接口时:

interface SuperProps {
  age: number;
}

interface TestProps extends SuperProps {
  name: string;
}

const Test = ({ name, age }: TestProps) => {
  return (
    <p>
      {name}: {age}
    </p>
  );
};

这是我没有完全掌握的错误还是功能?

【问题讨论】:

  • 我认为它是包“eslint-plugin-react”中的一个错误,因为这是一个完全有效的接口,它应该可以正常工作,但是插件找不到在父界面。
  • @TelmoTrooper - 你可能是对的,发现了这个我认为是正确的问题:github.com/yannickcr/eslint-plugin-react/issues/2654 奇怪的是这可以通过检查点而不被注意到,这应该是一个足够常见的模式.
  • 由于您使用的是 TS,可能不需要使用 eslint 检查道具类型,并且可以通过这种方式在 .eslintrc 中禁用它:"react/prop-types": "off"'
  • 谢谢,没有真正解决问题。好像问题已经解决了,我最近还没有测试过功能。

标签: reactjs typescript eslint


【解决方案1】:

如果有人偶然发现这个问题,正如问题 cmets 中所述,这里有一个关于此验证规则的问题:https://github.com/yannickcr/eslint-plugin-react/issues/2654

问题已关闭,但似乎尚未解决。 可以通过添加禁用验证规则

'react/require-default-props': 0

遵守eslintrc.js 文件中的规则

【讨论】:

    猜你喜欢
    • 2018-09-15
    • 2019-11-22
    • 1970-01-01
    • 2021-08-26
    • 2021-06-12
    • 2021-03-30
    • 2021-07-27
    • 2017-11-15
    • 2021-10-15
    相关资源
    最近更新 更多