Ошибка в управлении состоянием реагирования нативного класса - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь установить состояние некоторых переменных и получаю сообщение об ошибке. Мой код выглядит следующим образом:

export default class LoginScreen extends React.Component {

    LoginScreen() {
        this.state = {
            username: '',
            password: ''
        }
    }

    login = async () => {
        const [result, errorMessage] = await appLogin(this.state.username, this.state.password);
        console.log(`${result} ${errorMessage}`);
    };

    setUserName = (username) => {
        this.setState({ username })
    };

    setPassword = (password) => {
        this.setState({ password})
    };

    render() {
        const { username, password } = this.state;
        return <View style={loginStyles.container}>
            <ImageBackground
                source={require('../../../assets/images/login.jpg')}
                style={loginStyles.backgroundImage}>
                <View style={loginStyles.titleContainer}>
                    <Text style={{ fontSize: 40, color: 'grey', paddingVertical: 40 }}>{'Premier App'}</Text>
                </View>
                <View style={loginStyles.nestedContainer}>
                    <TextInput
                        placeholder={'username or email'}
                        style={[style.inputStyle, style.colorBlue]}
                        onChange={this.setUserName}
                    />
                    <TextInput
                        placeholder={'password'}
                        textContentType="password"
                        secureTextEntry={true}
                        autoCapitalize="none"
                        autoCorrect={false}
                        style={[style.inputStyle, style.colorBlue]}
                        onChange={this.setPassword}
                    />
                    <CustomRoundedButton
                        text={'Login'}
                        buttonStyle={[style.bgPrimary]}
                        onPress={() => this.login(username, password)}
                        textStyle={[style.text20, { color: 'white' }]}
                    />
                </View>
            </ImageBackground>
        </View>
    }
}

Я получаю ошибку: null не является объектом (оценка '_this $ state.username') Пожалуйста, помогите мне решить эту проблему. Я не могу понять причину этой проблемы.

...