【问题标题】:TypeError: Cannot read property 'isRequired' of undefinedTypeError:无法读取未定义的属性“isRequired”
【发布时间】:2021-11-05 02:31:03
【问题描述】:

我是 React.js 的新手。我正在尝试验证 propTypes,但它显示错误“TypeError:无法读取未定义的属性‘isRequired’”。我会感谢您的建议。

import React from "react";
import classnames from "classnames";
import PropTypes from "prop-types";

const TextFieldGroup = ({
  name,
  palceholder,
  value,
  label,
  error,
  info,
  type,
  onChange,
  disabled
}) => {
  return (
    <div className="form-group">
      <input
        type={type}
        className={classnames("form-control form-control-lg", {
          "is-invalid": { error }

      {error && <div className="invalid-feedback">{error}</div>}
    </div>
  );
};

TextFieldGroup.propTypes = {
  name: PropTypes.string.isRequired,
  palceholder: PropTypes.string,
  value: PropTypes.string.isRequired,
  label: PropTypes.string,
  error: PropTypes.string,
  info: PropTypes.string,
  type: PropTypes.string.isRequired,
  onChange: PropTypes.func.isRequired,
  disabled: PropTypes.string
};

TextFieldGroup.defaultProps = {
  type: "text"
};

export default TextFieldGroup;

【问题讨论】:

    标签: reactjs react-proptypes


    【解决方案1】:

    导入应该是这样的。

    import {PropTypes} from "prop-types";
    

    【讨论】:

      【解决方案2】:

      您确定错误位于此组件中吗?因此,我遇到了同样的错误:

        EmptySearchResults.propTypes = {
            searchMessage: PropTypes.message.isRequired
        };
      

      因为 message 不是 propType。

      【讨论】:

        【解决方案3】:

        我的错误是没有正确安装 prop-types 库,我重新安装后修复了问题 $ npm i prop-types@15.7.2

        【讨论】:

          【解决方案4】:

          我的错误如下:

          // **BAD**
          StatusUpdate.propTypes = {
             loading: PropTypes.boolean.isRequired
          };
          

          boolean 不是可用类型;这是bool。嗯。

          所以改成:

          // **GOOD**
          StatusUpdate.propTypes = {
             loading: PropTypes.bool.isRequired
          };
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-11-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-12-24
            • 2019-08-19
            相关资源
            最近更新 更多