React Native - Entrada de Texto
Neste capítulo, mostraremos como trabalhar com TextInput elementos em React Native.
O componente Home importará e renderizará as entradas.
App.js
import React from 'react';
import Inputs from './inputs.js'
const App = () => {
return (
<Inputs />
)
}
export default App
Entradas
Vamos definir o estado inicial.
Depois de definir o estado inicial, vamos criar o handleEmail e a handlePasswordfunções. Essas funções são usadas para atualizar o estado.
o login() função apenas alertará o valor atual do estado.
Também adicionaremos algumas outras propriedades às entradas de texto para desativar a capitalização automática, remover a borda inferior em dispositivos Android e definir um espaço reservado.
inputs.js
import React, { Component } from 'react'
import { View, Text, TouchableOpacity, TextInput, StyleSheet } from 'react-native'
class Inputs extends Component {
state = {
email: '',
password: ''
}
handleEmail = (text) => {
this.setState({ email: text })
}
handlePassword = (text) => {
this.setState({ password: text })
}
login = (email, pass) => {
alert('email: ' + email + ' password: ' + pass)
}
render() {
return (
<View style = {styles.container}>
<TextInput style = {styles.input}
underlineColorAndroid = "transparent"
placeholder = "Email"
placeholderTextColor = "#9a73ef"
autoCapitalize = "none"
onChangeText = {this.handleEmail}/>
<TextInput style = {styles.input}
underlineColorAndroid = "transparent"
placeholder = "Password"
placeholderTextColor = "#9a73ef"
autoCapitalize = "none"
onChangeText = {this.handlePassword}/>
<TouchableOpacity
style = {styles.submitButton}
onPress = {
() => this.login(this.state.email, this.state.password)
}>
<Text style = {styles.submitButtonText}> Submit </Text>
</TouchableOpacity>
</View>
)
}
}
export default Inputs
const styles = StyleSheet.create({
container: {
paddingTop: 23
},
input: {
margin: 15,
height: 40,
borderColor: '#7a42f4',
borderWidth: 1
},
submitButton: {
backgroundColor: '#7a42f4',
padding: 10,
margin: 15,
height: 40,
},
submitButtonText:{
color: 'white'
}
})
Sempre que digitarmos em um dos campos de entrada, o estado será atualizado. Quando clicamos noSubmit botão, o texto das entradas será mostrado dentro da caixa de diálogo.
Sempre que digitarmos em um dos campos de entrada, o estado será atualizado. Quando clicamos noSubmit botão, o texto das entradas será mostrado dentro da caixa de diálogo.