假设我正在做一个简单的 CRUD 应用程序来响应。我的功能组件基本上只是表单。
- 在 CREATE 的情况下,我通过 props 传入一个空对象
- 在 UPDATE 案例中,我通过 props 传入一个带有值的对象(我通过 API 调用在父组件中获取了数据)
我看起来像这样:
const MyForm = (props) => {
const [myValues, setMyValues] = useState(props.myValues);
const [errors, setErrors] = useState(0);
(...)
}
在 UPDATE 的情况下,我(当然)遇到了这样的问题,即组件安装时 props.myValues 仍然为空,并且在父组件的 api 调用完成时不会再次设置(更新),从而使表单值为空.
使用类组件,我会用getDerivedStateFromProps()解决这个问题。在功能组件中有类似的东西吗?还是我从一开始就做错了?感谢您的任何建议!