gpt4 book ai didi

javascript - react /功能组件/ Prop 改变/getDerivedStateFromProps

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:56:45 26 4
gpt4 key购买 nike

假设我正在用 React 做一个简单的 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() 解决该问题。功能组件中有类似的东西吗?还是我从一开始就做错了?感谢您的任何建议!

最佳答案

是的,您当然可以使用 useEffect

在您的情况下,代码应如下所示:

const MyForm = (props) => {

const [myValues, setMyValues] = useState(props.myValues);
const [errors, setErrors] = useState(0);

useEffect(() => {
setMyValues(props.myValues);
}, [props.myValues]);

}

关于javascript - react /功能组件/ Prop 改变/getDerivedStateFromProps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55299298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com