【发布时间】:2018-04-27 02:37:41
【问题描述】:
我对 react 16 的新生命周期 getDerivedStateFromProps 用例感到困惑。以下面的代码为例,getDerivedStateFromProps 根本不需要,因为我可以通过 componentDidUpdate 实现我想要的。
export class ComponentName extends Component {
//what is this for?
static getDerivedStateFromProps(nextProps, prevState) {
if (nextProps.filtered !== prevState.filtered && nextProps.filtered === 'updated') {
return {
updated: true //set state updated to true, can't do anything more?
};
}
return null;
}
componentDidUpdate(prevProps, prevState) {
if(prevProps.filtered !== this.state.filtered && this.state.filtered === 'updated'){
console.log('do something like fetch api call, redirect, etc..')
}
}
render() {
return (
<div></div>
);
}
}
【问题讨论】:
标签: javascript reactjs ecmascript-6