在React中,我可以更新一个状态依赖于另外两个状态在一个useEffect依赖于这两个状态?



我有一个表单到目前为止只有两个字段,电子邮件和密码和一个按钮。两个输入都是状态和验证的,所以我有状态。email,isValid和state.pw.isValid.

我想控制Submit按钮,使其仅在电子邮件和密码都有效时才激活。我读到,由于React调度状态更新的方式,当使用多个状态时,你可能无法获得最新的状态,而useEffect可以确保这一点。

所以我的问题是,我可以设置一个state.form.isValid来控制对提交按钮的访问并更新这个(setFormIsValid (state.email。isValid,,state.pw.isValid)(在useEffect中使用依赖[state.email.]isValid state.password.isValid]吗?

所以我根据另外两个状态更新一个状态。

您有2个文本字段。从逻辑上讲,每次只更新一个字段(除非是填充文本字段的机器人)。所以,在这个特定的情况下,状态更新将一个接一个地发生,你几乎可以保证总是获得最新的状态。

除非有其他因素影响组件,否则添加useEffect然后根据依赖项在这个useEffect中设置一个新状态可能是多余的。

每个setState触发一次渲染。因此,如果不是绝对必要,则不需要基于其他2个状态进行新状态设置。

相关内容

  • 没有找到相关文章

最新更新