我正在尝试通过从上述组件发送的props更新类组件的状态,首先我设置了一个构造函数,该构造函数从props中获取数据并将其置于状态中,但由于 render() 而不起作用没叫。
所以我已经使用了getDerivedStateFromProps
在渲染之前调用的函数,但我不知道我是否正确使用它。
我institute
从上面的组件发送一个props并实现getDerivedStateFromProps()
这样的:
static getDerivedStateFromProps(nextProps, prevState) {
if (prevState.id !== nextProps.institute.id) { // need to update
return {
id: nextProps.id,
name: nextProps.name,
contactName: nextProps.contactName,
phoneNumber: nextProps.phoneNumber,
city: nextProps.city,
street: nextProps.street,
number: nextProps.number,
deleted: nextProps.deleted
};
}
console.log("null")
return null;
}
我还设置了一个 initState 值:
state = {
id: '',
name: '',
contactName: '',
phoneNumber: '',
city: '',
street: '',
number: '',
deleted: '',
}
getDerivedStateFromProps
if 语句为真,但它根本不更新状态。
我将不胜感激任何帮助。
谢谢!