I very need your help. I am trying to make a JSON object users in my state properties to check how my authentification works. But when I tried to get access I had received the error "Cannot read property 'state' of undefied" and error arrow pointed on this part of code const { users, textInputEmail, textInputPassword } = this.state. Also, when I tried to check users it also showed 'undefined'. What have I done wrong?
import React, { Component } from 'react'
import { View, TextInput } from 'react-native'
import { MyButton, ErrorMessage } from '../uikit'
import { FormStyle, InputStyle } from '../constants/styles'
import { SIGN_IN, SUCCESS } from '../routes'
export class LogIn extends Component {
state = {
users: {
user: [
{
name: 'john1303@ukr.net',
password: '12345678'
},
{
name: 'steve13@gmail.com',
password: '87654321'
}
],
},
textInputEmail: '',
textInputPassword: ''
}
isUser() {
console.log(users)
const { users, textInputEmail, textInputPassword } = this.state
let currentUser, password;
currentUser = users.map((user) => user.name == textInputEmail ? user : 'unknown')
if (currentUser == 'unknown')
return alert('Incorrect user or password!')
else {
if (currentUser.password == textInputPassword)
this.props.navigation.navigate(SUCCESS)
}
}
render() {
const { mainContainer, buttons } = FormStyle
const { container, text } = InputStyle
return (
<View>
<View style={mainContainer}>
<View style={container}>
<TextInput
style={text}
placeholder={'Email/Login'}
onChangeText={(value) => this.setState({ textInputEmail: value })}
>
</TextInput>
<ErrorMessage errorText={'Incorrect email'} />
</View>
<View style={container}>
<TextInput
style={text}
placeholder={'Password'}
secureTextEntry={true}
onChangeText={(value) => this.setState({ textInputPassword: value })}
>
</TextInput>
<ErrorMessage errorText={'Incorrect password'} />
</View>
<View style={buttons}>
<MyButton
name={'Log in'.toUpperCase()}
onPress={this.isUser} />
<MyButton
name={'Sign in'.toUpperCase()}
onPress={() => this.props.navigation.navigate(SIGN_IN)} />
</View>
</View>
</View>
)
}
}
Via Active questions tagged javascript - Stack Overflow https://ift.tt/2FdjaAW
Comments
Post a Comment