嗨,我有一个使用 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,但我不知道有什么办法。
有人帮助我..!
defaultProps
已弃用并将被删除。您应该执行以下两项操作:
AccordionDemo.defaultProps = { ... }
。react/require-default-props
ESLint 规则。如何执行此操作取决于您如何配置 eslint,但常见的设置位置是 tsconfig.json
、eslintrc
或内联(例如 // eslint-disable-next-line eslintreact/require-default-props
)了解有关此弃用的更多信息:https://sophiabits.com/blog/stop-using-defaultprops