🔍 React Query
Server-Side Rendering with React Query

🔥 ভাই, এই প্রশ্নটাই আসল!

"সার্ভার আবার কেমন করে HTML বানায়?" — এইটা একদম clear করলে পুরো SSR concept crystal clear হয়ে যাবে!

চল, step-by-step, একদম চা-দুধ-চিনি language-এ বুঝি:


✅ Server কীভাবে HTML বানায়?

⚡ ধরো তোমার React Component

function Blog({ title }) {
  return <h1>{title}</h1>;
}

✅ CSR (client-side rendering)-এ

  • Server থেকে শুধু data যায়, যেমন:
{ "title": "My First Blog" }
  • Browser (client) এ JavaScript bundle থাকে, ওখানেই এই Component চলবে।

✅ SSR (server-side rendering)-এ

🟢 Step 1: Server এ React Component "run" হয়

  • Server-side এ React-এর special function থাকে:
import ReactDOMServer from "react-dom/server";

🟢 Step 2: Component থেকে HTML string বানানো

  • Server-side এ এই function চালানো হয়:
const htmlString = ReactDOMServer.renderToString(
  <Blog title="My First Blog" />
);
  • এই function Component কে HTML string এ convert করে, যেমন:
<h1>My First Blog</h1>

🟢 Step 3: এই HTML browser-এ পাঠানো হয়

  • Server এই HTML string পুরোপুরি browser কে পাঠায়।
  • Browser সঙ্গে সঙ্গে এই HTML দেখায়।

✅ কিভাবে সম্ভব?

✔️ React framework (যেমন Next.js) এর ভিতরে ReactDOMServer নামে একটা package থাকে। ✔️ এটা Component কে browser-এর আগে server-এ "simulate" করে run করে। ✔️ Component থেকে তৈরি হয় HTML string।


💡 উদাহরণ Node.js-এ (raw SSR)

import express from "express";
import React from "react";
import ReactDOMServer from "react-dom/server";
 
const app = express();
 
function Blog({ title }) {
  return <h1>{title}</h1>;
}
 
app.get("/", (req, res) => {
  const html = ReactDOMServer.renderToString(<Blog title="My First Blog" />);
  res.send(`
    <!DOCTYPE html>
    <html>
      <head><title>SSR Example</title></head>
      <body>${html}</body>
    </html>
  `);
});
 
app.listen(3000, () => console.log("Server running on http://localhost:3000"));

🤯 এখানে কী হচ্ছে?

✅ Server-side এ <Blog title="My First Blog" /> Component run হচ্ছে। ✅ Server-side এ পুরো HTML তৈরি হচ্ছে: <h1>My First Blog</h1>. ✅ Server এই HTML browser কে পাঠাচ্ছে। ✅ Browser তখন JavaScript bundle ছাড়াই প্রথমে HTML দেখে।


💬 এক লাইনে সহজ ভাষায়

Server React Component চালায়, তারপর সেটা থেকে তৈরি HTML string browser-এ পাঠায়।


© 2025 React JS Bangla Tutorial.