如何使用钩子设置计算属性的状态

时间:2020-06-16 11:59:04

标签: reactjs react-hooks

链接到原始问题:How to setState of computed property using hooks

我基本上是在尝试更新旧项目,以便在可能的情况下使用挂钩和功能组件。我需要使用handleChange函数中的钩子更新计算属性的状态。我该怎么办?

我在以下代码段中删除了不相关的代码:

.Class<OtherDataPatient>()

谢谢!

3 个答案:

答案 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)
相关问题