我有与创建的应用程序React 16.3.X,需要this.props在getDerivedStateFromProps()方法。
例如:
static getDerivedStateFromProps(nextProps, prevState) {
console.log(this.props); // `this` is not defined
if (nextProps.id !== this.props.id) {
// do something...
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
显然this未在规定static的方法,但我需要知道的是有没有办法让this.props在getDerivedStateFromProps()?
您无法访问this.props内部getDerivedStateFromProps功能。如果你想在函数内部访问一些以前的道具(比如比较),那么你可以在state. 然后您可以将nextProps与存储在state这样的值进行比较
static getDerivedStateFromProps(nextProps, prevState) {
if (nextProps.id !== prevState.id) {
// prevState.id represent the prevProps.id
return {id: nextProps.id};
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
结帐:https : //reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props
| 归档时间: |
|
| 查看次数: |
4250 次 |
| 最近记录: |