旧版本react使用componentWillReceiveProps时的写法
componentWillReceiveProps(nextProps) {
const { id } = this.props;
const { id: newId } = nextProps;
if (newId !== id) {
// 处理逻辑
this.handleGet(newId)
}
}
新版本react 使用 getDerivedStateFromProps 后里面的逻辑代码该怎么写? 我这样写合适吗?
state = {
id: ''
}
static getDerivedStateFromProps(nextProps, preState) {
const { dispatch, id: newId } = nextProps;
const { id } = preState;
if (newId && newId !== id) {
return {
id: newId
};
}
return null;
}
componentDidUpdate(_, prevState) {
const { id } = this.state;
if (id && id !== prevState.id) {
this.handleGet(id)
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…