Вводить текст проверить реагировать родной

У меня есть такой код:

 <TextInput placeholder = {"PID"}  keyboardType = 'numeric'  editable = {true}    maxLength = {10} value = {this.state.text}  onChangeText = {(text) => this.setState({text})} />   
 <Button title='NEXT' onPress= {() => navigate('service', { text: this.state.text})}> </Button>

И я хочу проверить поле ввода следующим образом: По нажатию кнопки перейти на страницу сервиса, если длина ввода равна 10. Иначе показать предупреждающее сообщение.

Как я могу это сделать?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
1 199
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Уважаемый :) Вам нужно использовать пакет маршрутизации, например, response-navigation или response-native-router-flux (мне нравится позже), определить с ним свои страницы и использовать простой оператор if else в функции onPress ...

Каждый из пакетов маршрутизации обеспечивает простой вызов программной навигации.

Ответ принят как подходящий
manage = () => {
    if (this.state.text.length === 10) {
        navigate('service', { text: this.state.text})})
    } else {
        alert('Your PID must be exactly 10 characters!')
    }
}

render() {
    return (<Button onPress = {this.manage} ... />)
}

Это ответ @ sod.heretic, я просто помог с форматированием. :)

iuliu.net 31.07.2018 11:21

Другие вопросы по теме