Witam, jak w tytule.
Buduję prosty CMS i chce się zalogować jeżeli sprawdzę warunek, że jest prawdziwy wszystko działa. jednak chce wyczyścić pola wpisywania jeżeli warunek jest niepoprawny i to już się nie dzieje dlaczego? dodam tylko, że program wchodzi do else sprawdzałem za pomocą console.log(); czy ktoś mógłby mi to wytłumaczyć dlaczego nie działa?.
chodzi dokładnie o funkcję handleSubmit
import React from 'react'
import { Route, Redirect } from 'react-router-dom'
import axios from 'axios'
const password = '123'
const login = 'maniek'
class Login extends React.Component {
state = {
loginSt: '',
passwordSt: '',
loginPermission: false,
}
handleChange = (e) => {
if (e.target.type === 'text') {
this.setState({
loginSt: e.target.value,
})
} else if (e.target.type === 'password') {
this.setState({
passwordSt: e.target.value,
})
}
}
handleSubmit = (e) => {
e.preventDefault();
axios.get(`http://localhost:4000/login`)
.then(res => console.log(res.data))
.catch(err => console.log(err))
if (password === this.state.passwordSt && login === this.state.loginSt) {
const loginPermission = true;
this.props.handlelLoggedStatus(loginPermission);
this.setState({
loginPermission,
})
} else {
const login = '';
const password = '';
this.setState({
login,
password,
})
}
}
render() {
if (this.state.loginPermission) {
return (
<Route render={() => (
(
<Redirect to='/admin' />
)
)} />
)
} else {
return (
< div className='login-page' >
<form className='login-page__login-container' onSubmit={this.handleSubmit}>
<input className='login-page__login' type='text' placeholder='Login' onChange={this.handleChange} value={this.state.loginSt}></input>
<input className='login-page__password' type='password' placeholder='hasło' onChange={this.handleChange} value={this.state.passwordSt}></input>
<button className='login-page__submit-button'>zatwierdź</button>
</form>
</div>
)
}
}
}
export default Login;