我有一个扩展的 ES6 类React.Component
,即一个 React 组件。假设我的组件如下所示:
class MyComponent extends React.Component {
constructor({ foo, bar, baz, ...props }) {
super({ foo, bar, baz, ...props });
this.state = { foo, bar, baz };
}
render() {
return <span>Foo: {this.state.foo} Bar: {this.state.bar} Baz: {this.state.baz}</span>
}
}
在这里,我在构造函数的签名中使用解构来提取一些我想在组件状态中使用的道具。我确保将这些值传递给 super。但是,当我实际执行类似的代码时,我会看到如下所示的警告:
警告:MyComponent(...):在调用 super() 时
MyComponent
,请确保传递与传递组件构造函数相同的道具。
所以我的问题是是否可以像我展示的那样在没有相关警告的情况下解构构造函数的签名?(我假设警告是有充分理由的,我同样确定我不完全理解其中的含义。)