如何在React中使用getDerivedStateFromProps而不是componentWillReceivePr



我喜欢更新我的代码使用getDerivedStateFromProps而不是componentWillReceiveProps作为我正在接收弃用的错误。组件正在接收一个日期道具,并且每次需要更改日期时,都要运行带有新日期的getList。要做到这一点,我使用下面的代码

componentWillReceiveProps(nextProps) {
const {date} = this.props;
if (nextProps.date !== date) {
console.log('prop changed to : ', nextProps.date);
this.getList(nextProps.date);
}
}

我尝试了以下操作,但它不起作用

static getDerivedStateFromProps(props, state) {
const {date} = this.props;
if (props.date !== date) {
console.log('prop changed to : ', props.date);
this.getList(props.date);
}
return;
}

getDerivedStateFromProps看起来不像是您想要做的正确工具。改为使用componentDidUpdate:

componentDidUpdate(prevProps) {
const { date } = this.props;
if (prevProps.date !== date) {
this.getList(date);
}
}

很少使用getDerivedStateFromProps。有关何时使用getDerivedStateFromProps的更多信息,我推荐阅读本文

相关内容

  • 没有找到相关文章

最新更新