链接到原始问题:How to setState of computed property using hooks
我基本上是在尝试更新旧项目,以便在可能的情况下使用挂钩和功能组件。我需要使用handleChange函数中的钩子更新计算属性的状态。我该怎么办?
我在以下代码段中删除了不相关的代码:
.Class<OtherDataPatient>()
谢谢!
答案 0 :(得分:1)
this.setState
仅存在于类组件中,不存在于功能组件中。
要使用useState
挂钩更新状态,只需调用相应的setter。在您的示例中,调用setUserName
来更新用户名,调用setPassword
来更新密码,等等。
答案 1 :(得分:1)
在功能组件中声明状态时,要传递的第二个参数是用于设置状态的方法。 this.setState
仅在类组件中可用。 See here
在用于设置状态密码的示例中,您需要使用值调用方法setPassword
。
例如:setPassword('this is my password')
答案 2 :(得分:0)
如果您想像在具有多个状态处理程序的基于React的组件之前创建通用处理程序,则可以在useState
钩子之后创建一个对象处理程序,并像下面那样重构handleChange:
const handler = {
username: setUserName,
password: setPassword
}
const handleChange = (event) => handler[event.target.name](event.target.value)