我有一个React类组件,在构造函数调用中带有一个初始状态对象。我最初只是将一个对象常量分配给this.state,但是我需要与该类中的其他方法共享初始状态对象以重置组件。将初始状态对象移动为类属性并在构造函数中引用它可以吗?

class SampleComponent extends Component {
  constructor() {
    super();

    this.state = this.initialState;
  }

  initialState = {
    property1: "...",
    property2: "..."
  };
}

该代码似乎可以正常工作,但是我不确定这是否是正确的解决方法。

最佳答案

initialState与该类解耦:

const initialState = {
    property1: "...",
    property2: "..."
};

// As Class
class SampleComponent extends Component {
  state = initialState;
  ...
}

// Hooks
function SampleComponent(props) {
  const [myState, setMyState] = useState(initialState);
  ...
}

这样,您可以避免以后有关this.initialState的错误。

10-07 21:31