React Hooks in React Native

React Hooks in React Native

React Hooks হল React Native অ্যাপের State, Lifecycle, এবং Side-effects আরও সহজভাবে ম্যানেজ করার অত্যাধুনিক উপায়।


📌 React Hooks কী?

React Hooks একটি বিশেষ ফিচার যা Functional Component-এর ভেতরে state, lifecycle method, side-effect, event handling নিয়ন্ত্রণ করতে সাহায্য করে। Hooks ব্যবহারের সুবিধা হলো, Class Component ছাড়াই আপনি সব কাজ করতে পারবেন।


🔥 কেন Hooks ব্যবহার করবেন?

  • Class Component লেখার প্রয়োজন নেই
  • Code ছোট, clean এবং readable হয়
  • Reusable logic লেখা সহজ হয়
  • State & Lifecycle সহজভাবে ম্যানেজ করা যায়

🧩 useState Hook

useState হল component-এর ভেতরে data store করার জন্য ব্যবহৃত State Hook।


import React, { useState } from "react";
import { View, Text, Button } from "react-native";

export default function App() {
  const [count, setCount] = useState(0);

  return (
    <View style={{ padding: 20 }}>
      <Text style={{ fontSize: 20 }}>Count: {count}</Text>
      <Button title="Increase" onPress={() => setCount(count + 1)} />
    </View>
  );
}

    

🌀 useEffect Hook

Component mount, update, API call, timer, event listener ইত্যাদি Side-effect handle করতে ব্যবহার হয়।


import React, { useEffect, useState } from "react";
import { View, Text } from "react-native";

export default function App() {
  const [message, setMessage] = useState("Loading...");

  useEffect(() => {
    setTimeout(() => {
      setMessage("Data Loaded Successfully!");
    }, 2000);
  }, []);

  return (
    <View style={{ padding: 20 }}>
      <Text style={{ fontSize: 20 }}>{message}</Text>
    </View>
  );
}

    

📍 useRef Hook

React Native-এ DOM reference না থাকলেও useRef ব্যবহার করা হয়:

  • Input focus নিয়ন্ত্রণ করতে
  • Timer বা interval store করতে
  • Previous value track করতে

import React, { useRef } from "react";
import { View, TextInput, Button } from "react-native";

export default function App() {
  const inputRef = useRef();

  return (
    <View style={{ padding: 20 }}>
      <TextInput 
        ref={inputRef}
        style={{ borderWidth: 1, padding: 10 }}
        placeholder="Type here"
      />

      <Button title="Focus Input" onPress={() => inputRef.current.focus()} />
    </View>
  );
}

    

⚡ useMemo Hook

Expensive calculation optimize করার জন্য useMemo ব্যবহার হয়।


const expensiveCalculation = (num) => {
  console.log("Calculating...");
  return num * 1000;
};

const result = useMemo(() => expensiveCalculation(count), [count]);

    

🎯 useCallback Hook

Re-render হলে function যেন নতুন করে তৈরি না হয় তার জন্য useCallback ব্যবহার করা হয়। এটি Performance boost করে।


const handleClick = useCallback(() => {
  console.log("Button Clicked");
}, []);

    

🔧 Custom Hooks (নিজস্ব Hook তৈরি)

আপনি চাইলে নিজের Custom Hook তৈরি করতে পারেন। যেমন Example — Window width detect করার Hook:


import { useEffect, useState } from "react";
import { Dimensions } from "react-native";

export const useDeviceWidth = () => {
  const [width, setWidth] = useState(Dimensions.get("window").width);

  useEffect(() => {
    const subscription = Dimensions.addEventListener("change", ({ window }) => {
      setWidth(window.width);
    });

    return () => subscription?.remove();
  }, []);

  return width;
};

    

📱 React Native-এ Hooks কীভাবে Help করে?

  • Animation নিয়ন্ত্রণ সহজ
  • Form management clean হয়
  • API call সহজে manage করা যায়
  • Lifecycle management সহজ
  • State Sharing সহজ হয়
  • Custom Hook দিয়ে reusable logic তৈরি করা যায়

🎯 উপসংহার

React Hooks React Native অ্যাপ ডেভেলপমেন্টকে আরও আধুনিক, clean এবং efficient করে। আপনি Functional Component দিয়েই সব কাজ করতে পারবেন — State, Lifecycle, API call, Optimization সবকিছু। React Native শিখতে হলে Hooks অবশ্যই ভালোভাবে বুঝতে হবে।

👼 Quiz
/

লোড হচ্ছে...