我有一个问题,那就是用来自父级的道具更新受控输入的最佳实践是什么。
我有一个InputArea组件,其中包含很多受控输入。在每个输入的构造中,我有一个由父代(值)的props初始化的状态。但是在我的第一个输入中,我有一个自动提示的组件,可以填充所有输入的每个值(名字,姓氏,日期,电子邮件,电话等)。 因此,我的第一个组件触发了一个操作,设置了InputArea的新状态,所有值均来自autosuggest。 因此,我所有的输入都被重新渲染,但是没有任何变化(好吧,我明白了,我们没有调用构造函数,因此输入的状态没有改变)。
因此,我尝试使用prevProps在componentDidUpdate中进行此操作(但eslint说我比较宽松)。好的,我尝试使用key = {value}为输入设置一个关键道具。它可以工作,但是不好,它可以卸载并装载我的输入。我看到了派生状态或已被记忆,但是对于一个如此简单的功能来说似乎有点“艰巨而危险”。
我希望在React 17生命周期中可以在6个月内不要更改它,所以我不会使用componentWillUpdate或其他不安全的方法。由于我喜欢最佳做法,因此我在网上进行了大量搜索,但是我不确定应该怎么做!
有人有想法吗?
全部! = D