React Components Capitalization Matters in JSX

Why do React components start with a capital letter? Because JSX is just syntax sugar — not magic. When you write: <User /> <div /> Babel transforms it into plain JavaScript: React.createElement(User, null) React.createElement("div", null) 🔑 Here’s the rule that matters: • Lowercase → treated as a string tag ("div", "span") • Capitalized → treated as a JavaScript reference (User) So React understands: • "div" → native DOM element • User → function component → invoke it and continue rendering Now the gotcha 👇 If you write: <user /> JSX becomes: React.createElement("user", null) React now assumes "user" is a host element, not your component. ⚠️ Capitalization isn’t a style choice. It’s how the JSX transform decides whether React should render a DOM node or call your component. Once you understand this, JSX feels far less “magical” — and a lot more predictable. 👉 Have you ever lost time debugging a React issue caused by something this small? #React #JavaScript #FrontendDevelopmen #WebDevelopment #JSX #ReactJS #SoftwareEngineering #CleanCode

To view or add a comment, sign in

Explore content categories