我有一个错误,eslintreact/require-default-props 与 eslint-plugin-react

问题描述 投票:0回答:1

嗨,我有一个使用 React TypeScript 和 eslint 的项目(eslint-plugin-react/airbnb ...)。 我有一个错误,来自下面的代码

propType "accoTriggerClass" is not required, but has no corresponding defaultProps declaration.eslintreact/require-default-props

function AccordionDemo({
  accordionData,
  chevronDirection,
  accoTriggerClass = "",
  accoItemClass = "",
  accoContentClass = "",
}: {
  accordionData: { title: string; content: string }[];
  chevronDirection: "left" | "right";
  accoTriggerClass?: string;
  accoItemClass?: string;
  accoContentClass?: string;
}) {
  return ( 
... 

所以我解决了这个问题添加代码

AccordionDemo.defaultProps = {         accoTriggerClass: "",         accoItemClass: "",         accoContentClass: "",  }

但我注意到控制台中有一条消息

Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.     at AccordionDemo
。 所以我不想使用defaultProps,但我不知道有什么办法。 有人帮助我..!

eslint-plugin-react
1个回答
0
投票

defaultProps
已弃用并将被删除。您应该执行以下两项操作:

  1. 继续从代码中完全删除
    AccordionDemo.defaultProps = { ... }
  2. 关闭
    react/require-default-props
    ESLint 规则。如何执行此操作取决于您如何配置 eslint,但常见的设置位置是
    tsconfig.json
    eslintrc
    或内联(例如
    // eslint-disable-next-line eslintreact/require-default-props

了解有关此弃用的更多信息:https://sophiabits.com/blog/stop-using-defaultprops

© www.soinside.com 2019 - 2024. All rights reserved.