我有一个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
的错误。