我有这个组件:
class Logos extends React.Component<{}, LogosState> {
...
public constructor() {
super({});
...
}
}
我从这里了解到,即使组件没有道具,我也确实需要将参数传递给super。
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/20987#issuecomment-339216734
我的结论是尝试上面的代码。但我得到警告:
Warning: Logos(...): When calling super() in `Logos`, make sure to pass up the same props that your component's constructor was passed.
如何解决这个问题?
答案 0 :(得分:1)
public constructor(props) {
super(props);
...
}
这样做或
constructor(props) {
super(props);
...
}
答案 1 :(得分:1)
您可以改用它。
constructor(){
super()
}
react的正式文档中,react建议我们使用
constructor(props){
super(props)
}
添加道具的唯一原因是要在构造函数中使用this.props。如果您不想使用this.props,则最好不要将prop传递给super。
答案 2 :(得分:0)
我最终这样做了。在此之前发布的其他答案很有帮助,并导致我找到了该解决方案,但并不完整:
class Logos extends React.Component<{}, LogosState> {
...
public constructor(props: {}) {
super(props);
...
}
}