`getDerivedStateFromProps` 没有更新状态

IT技术 reactjs
2022-08-03 08:32:40

我正在尝试通过从上述组件发送的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: '',
        }

getDerivedStateFromPropsif 语句为真,但它根本不更新状态。

我将不胜感激任何帮助。

谢谢!

0个回答
没有发现任何回复~