小编an0*_*0us的帖子

prop `systemConfig` 的类型规范无效;类型检查器函数必须返回“null”或“Error”,但返回一个函数

我正在像这样在 React.js 代码中进行 proptype 检查

const { a, b ,c } = this.props
Run Code Online (Sandbox Code Playgroud)

a, b, c我的对象或来自 API 的响应在哪里

在我的 propTypes 中检查我的代码看起来像

ComponentName.propTypes = {
a: PropTypes.objectOf,
b: PropTypes.objectOf,
c: PropTypes.objectOf,
};
Run Code Online (Sandbox Code Playgroud)

在 Default PropTypes 中像这样分配它

ComponentName.defaultProps = {
a: {
key1: '',
key2: '',
},
b: {
key3: '',
key4: '',
},
},
Run Code Online (Sandbox Code Playgroud)

但是当我编译代码时它给了我这个错误

prop 的类型规范a无效;类型检查器函数必须返回nullError但返回一个函数。您可能忘记将参数传递给类型检查器创建者(arrayOf、instanceOf、objectOf、oneOf、oneOfType 和 shape 都需要参数)

请有人帮忙从控制台中删除此警告,解决方法是什么

reactjs react-proptypes react-props

4
推荐指数
1
解决办法
4901
查看次数

使用参数字典调用类的构造函数

我有一个类,它的构造函数需要三个参数。我的代码中的函数有一个字典,其中键是参数的确切名称,值是它们的值。有没有办法使用这个字典调用构造函数以便键自动匹配?或者是手动将每个值放入构造函数参数的唯一解决方案?

class ItemDrop {
   constructor(id,x,y){
        this.id = id;
        this.x = x;
        this.y = y;
   }
}
Run Code Online (Sandbox Code Playgroud)

并在另一个文件中

var params = {
    "id" : "2837",
    "x" : 50,
    "y" : 100
}  
var itemdrop = new ItemDrop(params) // how would i do this?
Run Code Online (Sandbox Code Playgroud)

澄清一下,我不想跑步

var itemdrop = new ItemDrop(params['id'],params['x'],params['y'])
Run Code Online (Sandbox Code Playgroud)

除非没有更干净的选项,因为我将对许多不同的类多次执行类似的操作。

javascript ecmascript-6

3
推荐指数
1
解决办法
1327
查看次数