reactjs propType“value”不是必需的,但没有对应的defaultProps声明react/require-default-props

oogrdqng  于 12个月前  发布在  React
关注(0)|答案(2)|浏览(284)

自从几天前当我运行yarn start时,我遇到了所有这些错误:

src/components/Balance.tsx
  Line 13:3:  propType "value" is not required, but has no corresponding defaultProps declaration   react/require-default-props
  Line 15:3:  propType "unit" is not required, but has no corresponding defaultProps declaration    react/require-default-props
  Line 16:3:  'prefix' PropType is defined but prop is never used                                   react/no-unused-prop-types
  Line 16:3:  propType "prefix" is not required, but has no corresponding defaultProps declaration  react/require-default-props

字符串
我尝试了一切重置最后提交或克隆再次仓库,但我不明白为什么我现在有这个错误.

falq053o

falq053o1#

要么你已经打开了react/require-default-props ESLint规则(可能是通过包含一些ESLint插件),这开始给你错误。
要解决此问题,您可以通过在Eslint配置文件中设置以下标志来关闭它(可以是.eslintrc.js或此处提到的其他格式)

{
  rules: {
    "react/require-default-props": "off"
  }
}

字符串
或者您可以显式地为Balance react组件设置defaultProps,如下所示

Balance.defaultProps = {
  value: "", // some default value for `value` param
  unit: "", // some default value for `unit` param
  prefix: "", // some default value for `prefix` param
}

mi7gmzs6

mi7gmzs62#

您遇到的警告表明您有一个名为“value”的prop未标记为必需(isRequired),但您也没有相应的defaultProps声明。这可以通过向组件添加defaultProps节来解决。

import React from 'react';
import PropTypes from 'prop-types';

class MyComponent extends React.Component {
  // Prop types declaration
  static propTypes = {
    value: PropTypes.string, // Not marked as required
  };

  // Default props declaration
  static defaultProps = {
    value: 'Default Value', // Set a default value for the prop
  };

  render() {
    return <div>{this.props.value}</div>;
  }
}

export default MyComponent;

字符串
在本例中,“value”prop未标记为必需(isRequired),但在defaultProps部分中提供了默认值。这将防止您提到的eslint警告,并确保如果未提供“value”prop,则将默认为指定值(本例中为“Default Value”)。

相关问题