Passing Params Between Screens

Passing Params Between Screens in React Native

Learn how to pass data between screens using React Navigation in React Native. Beginner-friendly explanations with real examples to help students easily understand.

📌 Introduction

যখন আমরা React Native অ্যাপে বিভিন্ন স্ক্রিনের মধ্যে যাই, তখন অনেক সময় এক স্ক্রিন থেকে আরেক স্ক্রিনে ডাটা পাঠানো লাগে। যেমন:

  • 🆔 Product Screen → productId send করা
  • 👤 Profile Screen → userName send করা
  • 📄 Details Screen → full object send করা

React Navigation এ এই কাজটি খুব সহজ এবং শক্তিশালী। এই টপিকটিতে আমরা দেখবো:

  • 🔹 Params পাঠানোর নিয়ম
  • 🔹 Params রিসিভ করার নিয়ম
  • 🔹 Objects পাঠানো
  • 🔹 Optional params
  • 🔹 Default params
  • 🔹 Updating params

🎯 Passing Params (Basic)

এক স্ক্রিন থেকে আরেক স্ক্রিনে ডাটা পাঠাতে আমরা ব্যবহার করি:

navigation.navigate("Details", { id: 101, name: "Mobile Phone" });
    

ব্যাখ্যা:

  • "Details" → যেই স্ক্রিনে যাবে
  • { id: 101, name: "Mobile Phone" } → পাঠানো ডাটা

📥 Receiving Params in Another Screen

রিসিভ করতে ব্যবহার করা হয় route.params

export default function DetailsScreen({ route }) {
  const { id, name } = route.params;

  return (
    <View>
      <Text>Product ID: {id}</Text>
      <Text>Product Name: {name}</Text>
    </View>
  );
}
    

🧩 Passing an Entire Object

অনেক সময় পুরো Object পাঠানোর প্রয়োজন হয়।

📤 Sending Object

navigation.navigate("Details", {
  product: {
    id: 1,
    title: "Laptop",
    price: 50000,
    stock: true
  }
});
    

📥 Receiving Object

const { product } = route.params;

<Text>{product.title}</Text>
<Text>{product.price}</Text>
    

❓ Optional Params

কখনো কখনো Params না থাকলেও স্ক্রিন কাজ করতে পারে। তখন Optional Params ব্যবহার করা হয়।

const { name = "Guest User" } = route.params ?? {};
    

যদি name না থাকে → "Guest User" দেখাবে।

🔧 Setting Default Params

Stack Navigator এ default params সেট করা যায়:

<Stack.Screen
  name="Details"
  component={DetailsScreen}
  initialParams={{ id: 0, name: "Unknown" }}
/>
    

♻️ Updating Params (Live Update)

স্ক্রিনে থাকা অবস্থায় Params আপডেট করতে:

navigation.setParams({ price: 999 });
    

এটি স্ক্রিনটি রিফ্রেশ না করে UI আপডেট করে।

↩️ Sending Data Back on Go Back

Go Back করার সময় ডাটা পাঠাতে useNavigation hook ব্যবহার করা হয়।

First Screen → Open Second Screen

navigation.navigate("Second", {
  onReturn: (value) => {
    console.log("Received:", value);
  }
});
    

Second Screen → Send Back Data

route.params.onReturn("Hello from second screen");
navigation.goBack();
    

💡 Best Practices

  • ✔ ছোট ডাটা Params দিয়ে পাঠান
  • ✔ বড় ডাটা (images, arrays) Context / Redux এ রাখুন
  • ✔ Sensitive ডাটা Params এ পাঠাবেন না
  • ✔ Params Optional রাখলে অ্যাপ ক্র্যাশ করবে না

🎉 Conclusion

React Native এ স্ক্রিন থেকে স্ক্রিনে ডাটা পাঠানো খুবই সহজ এবং অত্যন্ত প্রয়োজনীয়। Params ব্যবহার করে আপনি যেকোনো ধরনের ডাটা পাঠাতে পারবেন — simple value, object, even callback function!

এখন আপনি সহজেই Professional Navigation Flow তৈরি করতে পারবেন।

👼 Quiz
/

লোড হচ্ছে...