Chapter 7React Tutorial~1 min read
Conditional Rendering
Conditional Rendering — Condition नुसार UI
Conditional rendering म्हणजे condition नुसार वेगवेगळे UI दाखवणे. User logged in आहे का? Data load झाले का? Error आहे का? — यानुसार UI बदलतो. React मध्ये यासाठी अनेक techniques आहेत.
1. if/else — Complex Logic साठी
if statement — return मध्ये
jsx
function Welcome({ isLoggedIn }) {
if (!isLoggedIn) {
return (
<div>
<h1>Please Login</h1>
<button>Login</button>
</div>
);
}
return (
<div>
<h1>Welcome back! 👋</h1>
<button>Logout</button>
</div>
);
}
// Loading states
function Profile({ status, user }) {
if (status === "loading") return <p>Loading... ⏳</p>;
if (status === "error") return <p>काही error आली! ❌</p>;
return <h1>{user.name}</h1>;
}2. Ternary Operator — JSX आत
condition ? trueUI : falseUI
jsx
function UserBadge({ isPremium, name }) {
return (
<div>
<h2>{name}</h2>
{/* Ternary — दोन options मधून निवड */}
{isPremium
? <span>⭐ Premium Member</span>
: <span>Free Member</span>
}
{/* Inline ternary */}
<p className={isPremium ? "text-gold" : "text-gray"}>
{isPremium ? "All features unlocked!" : "Upgrade करा"}
</p>
</div>
);
}3. && Operator — एकच Option
condition && <JSX> — show only if true
jsx
function ShoppingCart({ items, isLoggedIn, hasError }) {
return (
<div>
{/* फक्त तेव्हाच दाखव जेव्हा true */}
{hasError && <p className="text-red">Error आली!</p>}
{isLoggedIn && <p>Welcome back!</p>}
{/* items रिकामे असेल तर message दाखव */}
{items.length === 0 && (
<p>Cart रिकामी आहे. Shopping करा! 🛒</p>
)}
{/* items असतील तर count दाखव */}
{items.length > 0 && (
<p>{items.length} items cart मध्ये आहेत</p>
)}
</div>
);
}4. Component Switching
वेगळे pages/screens दाखवणे
jsx
function App() {
const [page, setPage] = useState("home");
function renderPage() {
switch (page) {
case "home": return <HomePage />;
case "about": return <AboutPage />;
case "contact": return <ContactPage />;
default: return <NotFoundPage />;
}
}
return (
<div>
<nav>
<button onClick={() => setPage("home")}>Home</button>
<button onClick={() => setPage("about")}>About</button>
<button onClick={() => setPage("contact")}>Contact</button>
</nav>
{renderPage()}
</div>
);
}✅ Key Points — लक्षात ठेवा
- ▸if/else — complex logic, multiple conditions, early returns
- ▸Ternary ? : — दोन options, JSX आत
- ▸&& — एकच option, condition true असेल तरच दाखव
- ▸0 && <JSX> — सावधान! 0 render होतो. !! वापरा किंवा > 0 check
- ▸null, undefined, false — React render करत नाही
0/12 chapters पूर्ण