#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();
}}
Любая помощь приветствуется, спасибо.