Попытка передать параметр обратно в пользовательский хук для передачи данных входа в систему

#javascript #reactjs #socket.io #react-hooks #use-effect

#javascript #reactjs #socket.io #реагирующие хуки #использование-эффект

Вопрос:

У меня есть компонент формы входа. Я пытаюсь передать email и password в пользовательский хук, где я передаю информацию для входа.

У меня возникли проблемы с получением значений в пользовательский хук, который находится в его собственном useSocket.js файле:

 export function useLogIn() {
  const [email, setEmail] = useState();
  const [password, setPassword] = useState();

  useEffect(() => {
    if(email != "" amp;amp; password != "")
    {
      socket.emit('signin', {"inputEmail": email, "inputPassword": password});
    }
  }, [])
}
 

Вот компонент входа в систему:

 const LoginView = () => {
  const classes = useStyles();
  const navigate = useNavigate();
  const response = useIsLoggedIn();
  const loginData = useLogIn();

  let email;
  let password;

  const checkLogin = () => {
    if (response ? response.success : false == true) {
      navigate("/app/dashboard");
    } else {
      navigate("/");
    }
  }

  const login = () => {
    loginData.setEmail(email);
    loginData.setPassword(password);
    console.log("email: "   email);
    console.log("password: "   password);
  }

  //listen to login and update page
  useEffect(checkLogin, response ? response.success : false);
 

И вот что происходит, когда форма отправляет:

 initialValues={{
              email: email,
              password: password
            }}
onSubmit={() => {
              login();
            }}
 

Любая помощь приветствуется, спасибо.