💻
React Native
  • 👨‍💻Full-Stack Web Developer
  • 📚Теорія
    • 1️⃣Налаштування робочого середовища
      • Вступ
      • Налаштування середовища розробки
      • Перший проект
      • Налаштування емуляції Android (Android Studio + JDK)
      • Налаштування емуляції Iphone (Xcode)
      • Запуск проекту на віртуальних пристроях
      • Expo Snack
    • 2️⃣Верстка і стилізація
      • Функціональні та класові компоненти
      • Базові компоненти
      • Фундаментальні концепції React в React Native
      • Стилізація компонентів
      • Стилізація залежно від платформи
      • Кольори
      • Зображення
      • Векторна графіка
      • Розташування компонентів
      • Робота зі шрифтами
      • Колекції даних
      • Дебаг застосунку
    • 3️⃣Обробка подій
      • Обробка подій
      • Обробка текстових інпутів
      • Інпути в фокусі
      • Форма для збору даних
      • Робота з клавіатурою
      • Перехоплення подій
    • 4️⃣Навігація
      • Підключення навігації
      • Перемикання екранів
      • Передача параметрів між екранами
      • Хедер екрану
      • Вкладена навігація
      • Нижня навігація
    • 5️⃣Нативні компоненти
      • Камера
      • Мапи
      • Геолокація
    • 👷Практика
      • 1️⃣Завдання 1
      • 2️⃣Завдання 2
      • 3️⃣Завдання 3
      • 4️⃣Завдання 4
      • 5️⃣Завдання 5
      • 6️⃣Завдання 6
      • 7️⃣Завдання 7
    • Додаткові покликання
  • Про мене
    • Про мене
Powered by GitBook
On this page
  1. Теорія
  2. Обробка подій

Обробка текстових інпутів

PreviousОбробка подійNextІнпути в фокусі

Last updated 1 year ago

Уявити мобільний застосунок без поля для введення даних практично неможливо. У мобільній розробці для збору текстових даних від користувача використовують компонент TextInput. Щоб використовувати цей компонент потрібно його (як і всі інші компоненти) спочатку заімпортувати.

import { TextInput } from "react-native";

Цей компонент має багато власних пропсів, докладніше про які можна дізнатися в офіційній документації. Ось деякі найвживаніші серед них:

autoFocus - робить інпут у фокусі та відкриває клавіатуру при монтуванні компонента

keyboardType - тип клавіатури, який можна показувати (стандартна, цифрова, телефонна, посилання тощо)

maxLength - обмеження кількості символів в інпуті

multiline - робить інпут багаторядковим

onChangeText - запускається при зміні тексту в інпуті, замість об’єкту події приймає одразу текст

placeholder - стандартна підказка для інпуту

textAlign - вирівнювання тексту в інпуті

style - стилі для інпуту

value - значення інпуту

При роботі з інпутами використовують підхід контрольованих інпутів. Коли ми фіксуємо кожну зміну значення в інпуті, записуємо в стейт і відповідно значенню інпута присвоюємо цей стейт. Приклад контрольованого інпута нижче:

Резервний код
App.js
import { useState } from "react";
import { View, Text, TextInput, StyleSheet } from "react-native";

export default function App() {
  const [text, setText] = useState("");

  return (
    <View style={styles.container}>
      <TextInput
        placeholder="Enter the text"
        value={text}
        onChangeText={setText}
        style={styles.textInput}
      ></TextInput>

      <Text style={styles.textInState}>Text in state: {text}</Text>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: "center",
    justifyContent: "center",
  },
  textInput: {
    width: 250,
    padding: 15,

    borderWidth: 1,
    borderColor: "black",
    borderRadius: 10,
  },

  textInState: {
    marginTop: 40,
  },
});

Посилання на офіційну документацію:

📚
3️⃣
Компонент TextInput
Handling Text Input