在useState功能犯错误为不是功能

时间:2019-02-01 19:07:57

标签: reactjs react-hooks

我试图用钩子的反应,但我必须失去了一些东西。我发现了不是一个函数为下面的任何组的功能。

以此作为参考:https://reactjs.org/docs/hooks-state.html

function Login() {
  const [user, pass, setUser, setPass, test, setTest] = useState();

  return (
    <LoginWrapper>
      <Branding brand={brand.brandName} />
      <FormWrapper>
        <Stack>
          <TextInput
            type="text"
            label="Username"
            onChange={() => setUser(this)}
          />
        </Stack>
        <Stack>
          <TextInput
            type="password"
            label="Password"
            onChange={() => setPass(this)}
          />
        </Stack>
        <Stack padding="0" align="right">
          <Button
            onClick={() => {
              setTest("user and pass");
            }}
          >
            Login
          </Button>
        </Stack>
      </FormWrapper>
    </LoginWrapper>
  );
}

1 个答案:

答案 0 :(得分:5)

通过使用useState,您将获得一个数组,其中第一个元素是初始状态,第二个元素是该状态的设置器。

pass实际上是设置器user

要使用多个值就像你想做的事,你必须做这样的事情:

const [user, setUser] = useState(...);
const [pass, setPass] = useState(...);
const [test, setTest] = useState(...);

或者,您也可以将其用作具有单个useState的组合对象,但是不必将其与当前状态合并。