Оповещение отображается каждый раз, когда я редактирую свое поле ввода текста в реагировать родной - PullRequest
0 голосов
/ 10 апреля 2020

Мне нужна быстрая помощь, пожалуйста. Когда я помещаю недопустимый адрес электронной почты и нажимаю клавишу ВВОД, в предупреждении отображается сообщение о том, что адрес электронной почты недействителен, но всякий раз, когда я набираю текстовое поле, чтобы исправить свой адрес электронной почты, каждый раз отображается предупреждение. Мне нужно избавиться от них. Пожалуйста, кто-нибудь, помогите мне.

<View style={styles.inputContainer}>
            <TextInput
              autoCapitalize="none"
              autoCompleteType="off"
              autoCorrect={false}
              value={username}
              onChangeText={(text) => this.setState({username: text})}
              placeholder="Email"
              underlineColorAndroid="transparent"
              style={styles.textInput}></TextInput>
          </View>

Код предупреждения об ошибке

 <View>{this.state.error ? Alert.alert('Email invalid') : null}</View>

1 Ответ

0 голосов
/ 11 апреля 2020

Пока вы получаете ошибку this.state.error остаются true и когда вы вводите текст в textInput при каждом рендеринге, эта ошибка выполняется снова, решение для этого - либо удалить это состояние ошибки из рендера, либо установить состояние false после отображения ошибки .

 <View>{this.state.error ? Alert.alert('Email invalid') : null}</View>

Удалите указанную выше строку из рендера или убедитесь, что эта строка не выполняется после отображения ошибки при первой попытке, указав error state в false

...