функции в useState ошибаются как не функция - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь использовать реактивные хуки, но я что-то упускаю.Я не получаю функции ни для одной из указанных ниже функций.

Используя это как справку: 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 голосов
/ 01 февраля 2019

Используя useState, вы получите массив, где первый элемент является начальным состоянием, а второй элемент является установщиком состояния.

Ваш pass фактически является установщиком для user.

Чтобы использовать несколько значений, как вы хотите, вы должны сделать что-то вроде этого:

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

Или, в качестве альтернативы, вы можете использовать его как объединенный объект с однимuseState, но чем вам нужно слить его с текущим состоянием.

...