TextInput ও Form Handling

📝 React Native TextInput ও Form Handling (TypeScript সহ)

React Native অ্যাপে TextInput ও Form Handling সবচেয়ে গুরুত্বপূর্ণ বিষয়গুলোর একটি। লগইন, রেজিস্ট্রেশন, প্রোফাইল আপডেট, সার্চ — সবকিছুই ফর্মের উপর নির্ভরশীল। এই লেসনে আমরা TypeScript ব্যবহার করে ধাপে ধাপে Form Handling শিখবো।


📌 TextInput কী?

TextInput হলো React Native-এর একটি Core Component, যেটি ব্যবহারকারীর কাছ থেকে টেক্সট ইনপুট নেওয়ার জন্য ব্যবহার করা হয়।

  • Name, Email, Password ইনপুট নেওয়া
  • Search Box তৈরি করা
  • Form তৈরি করা

📌 Basic TextInput Example (TypeScript)

প্রথমে একটি সাধারণ TextInput দেখি যেখানে আমরা একটি নাম ইনপুট নিচ্ছি।

import React, { useState } from 'react';
import { View, Text, TextInput } from 'react-native';

const NameInput: React.FC = () => {
  const [name, setName] = useState<string>('');

  return (
    <View>
      <Text>আপনার নাম লিখুন:</Text>
      <TextInput
        value={name}
        onChangeText={setName}
        placeholder="নাম লিখুন"
      />
    </View>
  );
};

export default NameInput;
  

🖥 Output:

একটি ইনপুট বক্স দেখা যাবে যেখানে ইউজার নাম লিখতে পারবে। টাইপ করার সাথে সাথে name state আপডেট হবে।

📌 Multiple TextInput দিয়ে Form তৈরি

এখন আমরা একটি Login Form তৈরি করবো যেখানে থাকবে:

  • Email Input
  • Password Input
  • Submit Button
import React, { useState } from 'react';
import { View, Text, TextInput, Button, Alert } from 'react-native';

const LoginForm: React.FC = () => {
  const [email, setEmail] = useState<string>('');
  const [password, setPassword] = useState<string>('');

  const handleSubmit = () => {
    Alert.alert('Login Data', `Email: ${email}\nPassword: ${password}`);
  };

  return (
    <View>
      <Text>Email</Text>
      <TextInput
        placeholder="Email লিখুন"
        keyboardType="email-address"
        value={email}
        onChangeText={setEmail}
      />

      <Text>Password</Text>
      <TextInput
        placeholder="Password লিখুন"
        secureTextEntry
        value={password}
        onChangeText={setPassword}
      />

      <Button title="Login" onPress={handleSubmit} />
    </View>
  );
};

export default LoginForm;
  

🖥 Output:

  • Email ও Password ইনপুট বক্স দেখা যাবে
  • Password ফিল্ডে লেখা হাইড থাকবে
  • Login বাটনে ক্লিক করলে Alert এ ইনপুট ডাটা দেখাবে

📌 Form Validation (Basic)

ভালো অ্যাপের জন্য ইনপুট ভ্যালিডেশন অত্যন্ত গুরুত্বপূর্ণ।

const handleSubmit = () => {
  if (!email || !password) {
    Alert.alert('Error', 'সব ফিল্ড পূরণ করুন');
    return;
  }

  Alert.alert('Success', 'Login Successful');
};
  

🖥 Output:

যদি Email বা Password ফাঁকা থাকে, তাহলে Error Message দেখাবে।

📌 Useful TextInput Props

  • placeholder – হিন্ট টেক্সট
  • secureTextEntry – Password হাইড করতে
  • keyboardType – numeric / email keyboard
  • maxLength – টেক্সট সীমা
  • multiline – বড় টেক্সট ইনপুট

✨ Summary

  • TextInput দিয়ে ইউজার ইনপুট নেওয়া হয়
  • useState দিয়ে Form Data ম্যানেজ করা হয়
  • TypeScript কোডকে আরও Safe করে
  • Basic Validation ইউজার এক্সপেরিয়েন্স উন্নত করে

✅ এই লেসন শেষ করলে আপনি React Native এ যেকোনো Form সহজেই তৈরি করতে পারবেন।

👼 Quiz
/

লোড হচ্ছে...