Text-Input-Komponente in React Native
Text-Input-Komponente
~9 Min. Lesezeit Zuletzt aktualisiert am 8. August 2026
TextInput ist React Natives Eingabefeld für Text – das Gegenstück zu HTMLs <input>/<textarea>, mit einigen mobil-spezifischen Zusatz-Props.
1. Beschreibung
In React Native gibt es keine getrennten <input>-Typen wie im Web – TextInput deckt alles ab, gesteuert über Props wie secureTextEntry (Passwort), keyboardType (welche Bildschirmtastatur) und multiline (mehrzeilig, entspricht <textarea>).
2. Kurzes Beispiel
const [wert, setWert] = useState('');
<TextInput value={wert} onChangeText={setWert} placeholder="Name" />3. Komplettes Projekt: einfaches Kontaktformular
npx create-expo-app textinput-demo
cd textinput-demoimport { useState } from 'react';
import { View, Text, TextInput, Button, StyleSheet, Alert } from 'react-native';
export default function App() {
const [name, setName] = useState('');
const [email, setEmail] = useState('');
const [passwort, setPasswort] = useState('');
const [nachricht, setNachricht] = useState('');
function absenden() {
Alert.alert('Gesendet', `Danke, ${name}! Wir melden uns unter ${email}.`);
}
return (
<View style={styles.container}>
<TextInput
style={styles.input}
placeholder="Name"
value={name}
onChangeText={setName}
/>
<TextInput
style={styles.input}
placeholder="E-Mail"
keyboardType="email-address"
autoCapitalize="none"
value={email}
onChangeText={setEmail}
/>
<TextInput
style={styles.input}
placeholder="Passwort"
secureTextEntry
value={passwort}
onChangeText={setPasswort}
/>
<TextInput
style={[styles.input, styles.mehrzeilig]}
placeholder="Ihre Nachricht..."
multiline
numberOfLines={4}
value={nachricht}
onChangeText={setNachricht}
/>
<Button title="Absenden" onPress={absenden} />
</View>
);
}
const styles = StyleSheet.create({
container: { flex: 1, justifyContent: 'center', padding: 20, gap: 12 },
input: { borderWidth: 1, borderColor: '#d1d5db', borderRadius: 8, padding: 10, fontSize: 16 },
mehrzeilig: { height: 100, textAlignVertical: 'top' },
});4. Erklärung
value+onChangeText– macht das Feld "kontrolliert": der Wert kommt aus React-State, jede Eingabe fließt sofort zurück.keyboardType="email-address"– zeigt eine Tastatur mit direkt verfügbarem @-Symbol.autoCapitalize="none"– verhindert automatische Großschreibung des ersten Buchstabens (bei E-Mail-Adressen unerwünscht).secureTextEntry– verdeckt die Eingabe mit Punkten, wietype="password"im Web.multiline+numberOfLines={{4}}– erlaubt Zeilenumbrüche, entspricht einem<textarea>;textAlignVertical: 'top'sorgt dafür, dass der Text oben statt vertikal zentriert beginnt (nur Android-relevant, iOS macht das automatisch).