我想使用getderivedstatefromprops在selectedPlan收到与prop defaultPlan不同的数字时更新selectedPlan的状态。
我试图将componentDidMount转换为props的getderivedstate,但是getderivedstatefromprops似乎没有在我的组件中被调用?
state = {
selectedPlan: 0,
};
static getderivedstatefromprops(props, state){
if (props.defaultPlan !== state.selectedPlan) {
return{
selectedPlan: props.defaultPlan
};
}
return null;
}
componentDidMount() {
if (this.props.plans.length > this.props.defaultPlan) {
this.setState({ selectedPlan: this.props.defaultPlan });
}
}
我在PureComponent中使用它,我不确定这是否是它不起作用的原因吗?