小编Jel*_*nga的帖子

如何更新使用自定义 Hook 的变量的状态值

我的组件有表单输入字段。这些使用了 useState 钩子及其值和每个输入字段的 setValue。我想优化我的组件,以便输入字段使用相同的自定义 Hook,我称之为 useFormInput

灵感来自 Dan Abramov https://youtu.be/dpw9EHDh2bM参见 49:42

这非常有效。但是现在我想在创建新练习后更新用户名。这是在 onSubmit 方法中。但我不知道该怎么做。在重构之前,我可以使用 setUserName(),但现在用户名是由通用自定义挂钩函数 useFormInput 设置的

用户名有一个 onChange 方法,所以我想我可以使用它。但是,这使用了 e.target.value,因为它用于输入字段。

组件:我注释掉了setUserName(''),这里我想更新用户名

  const CreateExercise = () => {
  const inputEl = useRef(null)
  const username = useFormInput('')
  const description = useFormInput('')
  const duration = useFormInput(0)
  const date = useFormInput(new Date())
  const [users, setUsers] = useState([])
  useEffect(() => {
    axios
      .get('http://localhost:5000/users/')
      .then(res => {
        if (res.data.length > 0) {
          setUsers(res.data.map(user => user.username))
        }
      })
      .catch(err => console.log(err))
  }, [])
  const onSubmit …
Run Code Online (Sandbox Code Playgroud)

javascript state reactjs react-hooks

1
推荐指数
1
解决办法
9608
查看次数

标签 统计

javascript ×1

react-hooks ×1

reactjs ×1

state ×1