我收到警告“警告:失败的道具类型:提供给Object
的预期实例的bound checkType
类型的无效道具。”
这是我的原型:
FieldTable.propTypes = {
rawData: PropTypes.instanceOf(PropTypes.object).isRequired,
percentCols: PropTypes.arrayOf(PropTypes.string).isRequired,
specialColNames: PropTypes.instanceOf(PropTypes.object).isRequired,
scenarioHeaders: PropTypes.instanceOf(PropTypes.object),
headerHierarchies: PropTypes.arrayOf(PropTypes.object).isRequired
};
它是指“绑定的checkType”是什么,我应该如何验证我的对象道具以避免这种警告?对象本身是从异步调用接收到的JSON对象,并在其他组件中生成。例如rawData对象来自允许用户上传excel电子表格然后将电子表格解析为JSON对象的组件。不知道这是否有用。
感谢您的协助,尤其是这个问题可能引起的更深入的讨论。
答案 0 :(得分:3)
对于启用了react/forbid-prop-types
eslint的对象,请尝试使用形状:
plainObj: PropTypes.shape({ subProp: PropTypes.string })
答案 1 :(得分:0)
要检查普通JS对象的原型,您应该只使用:
plainObj: PropTypes.object.isRequired,