我正在学习reactjs,我想使用PropTypes,在某些示例中,我看到了类似PropTypes.string.isRequired
的东西。但是,如果我编写此代码,则会收到isRequired未定义的错误。
import React from "react";
import PropTypes from "prop-type";
import classnames from "classnames";
const TextFieldGroup = ({ field, value, label, error, type, onChange }) => {
return (
<div className={classnames("form-group", { "has-error": error })}>
<label className="control-label">{label}</label>
<input
value={value}
onChange={onChange}
type={type}
name={field}
className="form-control"
/>
{error && <span className="help-block">{error}</span>}
</div>
);
};
TextFieldGroup.propTypes = {
field: PropTypes.string.isRequired,
value: PropTypes.string.isRequired,
label: PropTypes.string.isRequired,
error: PropTypes.string,
type: PropTypes.string.isRequired,
onChange: PropTypes.func.isRequired,
checkUserExists: PropTypes.func.isRequired
};
TextFieldGroup.defaultProps = {
type: "text"
};
export default TextFieldGroup;
我希望有人能帮助您,谢谢!
答案 0 :(得分:-1)
它是道具类型,而不是道具类型。您正在导入prop-type,而不是prop-type。正确的模块是道具类型
因此您需要安装
npm i —save prop-types
然后将其导入
import PropTypes from "prop-types"