【发布时间】:2020-04-13 03:58:47
【问题描述】:
我有一个名为 ErrorComponent 的组件,其状态在其构造函数中初始化。
但是,我现在想创建一个名为 BaseForm 的新类,它从 ErrorComponent 扩展而来。
如果我这样做了
export default class BaseForm extends ErrorComponent {
constructor(props) {
super(props);
this.setState({
reason: null
});
它对我大喊大叫,说我不应该在构造函数中使用setState。
如果我这样做了
export default class BaseForm extends ErrorComponent {
constructor(props) {
super(props);
this.state = {
reason: null
};
它似乎覆盖了ErrorComponent 构造函数的状态。如何在不覆盖我要扩展的类的状态的情况下设置状态?
【问题讨论】:
-
@keikai 你是说不可能从我扩展的类继承状态吗?
-
使用组合而不是继承。
标签: reactjs inheritance constructor setstate