Most developers add TypeScript to their React projects and keep writing JavaScript. The types are there. Nothing breaks. So they assume they're doing it right. I did this for longer than I'd like to admit. `any` everywhere. Props typed as `object`. useReducer with no idea what shape the state was actually in. Then a production bug showed up that TypeScript should have caught six months earlier. It didn't, because I'd opted out at every hard junction. Here's what actually changed how I think about it: 1. Type your hooks at the boundary, not inside them. `useState<User | null>(null)` tells the component what it's working with before it renders anything. 2. Discriminated unions on state shape. If your component can be loading, error, or success, model it. Don't use three separate booleans and hope for the best. 3. Generic hooks aren't advanced TypeScript. `useFetch<T>` is just a hook that knows what it returns. That's it. 4. `useReducer` without typed actions is a footgun. The reducer is the one place where exhaustive checks pay off immediately. 5. Don't fight the compiler when props get complex. That resistance is the signal, model it properly or the bug will find you in prod. TypeScript doesn't make React harder. Writing React without it just defers the hard part to runtime. Full breakdown in the comments 👇 #reactjs #typescript #webdevelopment
5 TypeScript Best Practices for React Developers
More Relevant Posts
-
You don't have a clear Idea About TypeScript What is Typescript? TypeScript is a superset of JavaScript that adds static type and developer tooling on top of JavaScript. ”Superset means” what? ⇒ Anything written in JavaScript. You can write that in TypeScript. // Valid in JavaScript function add(a, b){ return a + b } It’s work in Typescript Toooo. TypeScript does not replace JavaScript - it extends it. Means it owns JavaScript. JavaScript is a dynamically typed language. - let age = 10 age="hello" // No error checked at compile time let age: number = 10 age = "Hello" // Showing Error Typescript caught the error before running the code. Note: Typescript does not execute directly - Browser and Node.js don’t understand Typescript. Typescript compile in Javascript first, then runs. //typescript const name:string ="Josim" Compile //Javascript const name = "Josim" Typecript not about syntax - it’s about scaling code. Without Typescript: - Hard to maintain a large app -Refactoring is easy. With Typescript - Easy to refactor code. - Easy to maintain code in the team. - Clean code structure. Think like this Javascript = Freedom Typescript = Dicpline + Safety In One Line TypeScript = JavaScript + Types + Compile-time checking Polish TS Day 1.1 #typescript #developer #fullstack_developer #mern_stack_developer #reactjs #nextjs #best_develoeper #josimhawladar
To view or add a comment, sign in
-
-
🚨 JavaScript vs TypeScript — The Real Truth “JavaScript is enough… why even learn TypeScript?” -Yeah, I used to think the same 😅 Until I started working on real projects… and reality hit ➣JavaScript (JS): • The backbone of the web • Easy to start, no need to define types • Fast & flexible (sometimes too flexible ) ➮The problem? • Bugs show up at runtime • Code gets messy as it scales Debugging becomes a headache Example: let price = 100; price = "100"; // JS be like: “it’s fine bro” ➣TypeScript (TS): •JavaScript + Superpowers •Adds static typing •Catches errors before your code runs Example: let price: number = 100; price = "100"; // TS: “Not allowed” The Real Difference: •JavaScript → “Run it and see what happens” •TypeScript → “Let me warn you before it breaks” ➣When to use what? •Small project / quick demo → JavaScript • Large project / team work → TypeScript ➣Today’s reality: React, Next.js, Node — all moving towards TypeScript Companies prefer TS for scalable and maintainable code ➣ Final Thought: “JavaScript helps you build fast… TypeScript helps you build right.” #JavaScript #TypeScript #WebDevelopment #MERN #Coding #Developers
To view or add a comment, sign in
-
-
JavaScript has a somewhat bad reputation, and it's honestly warranted. Being loosely typed, too flexible and easy to shoot yourself in the foot. TypeScript's safety benefits are well documented at this point: catching errors at compile time, better tooling, fewer runtime surprises. That's not the interesting part anymore, if we dig deeper on TypeScript systems, there's more to its' usage. To me, what's more compelling is how typing the components forces you to actually understand your data before you use it. You can't just pass something around and hope for the best. You have to know its shape, its constraints, what it represents in the context of the application. That's where it gets interesting for frontend developers specifically. When you're defining and consuming typed interfaces, you're not just writing safer code, you're reasoning about business rules. What does an Order look like? What states can a User be in? Those are product questions, not just technical ones.That proximity to the domain and to what the product actually does, is something frontend used to be distanced from. TypeScript quietly closes that gap. It makes you a better developer not just because it catches your mistakes, but because it demands that you understand what you're building before you build it. And in the end, turns out frontend can be less about centering divs and more about understanding what the product actually needs. #TypeScript #JavaScript #FrontendDevelopment #WebDevelopment #React #SoftwareEngineering
To view or add a comment, sign in
-
I've been writing JavaScript for years. And for years, I thought TypeScript was just extra work. I was wrong. Completely wrong. After switching to TypeScript full-time, my debugging time dropped by almost 40%. My code reviews became faster. Onboarding new devs became easier. And I stopped getting 3am calls about production bugs. Here's everything I wish someone had taught me before making the switch What is TypeScript, really? TypeScript is JavaScript - but with a superpower: a type system. It's a superset of JavaScript, which means every valid JS file is already valid TypeScript. You don't relearn the language. You extend it. TypeScript adds: - Static types (string, number, boolean, custom types) - Interfaces and type aliases - Enums - Generics - Type inference (TS is smart enough to guess types) - Compile-time error checking The TypeScript compiler (tsc) transpiles your .ts files back into plain JavaScript - so browsers and Node.js run it exactly the same. You write safer code. The machine handles the rest. Why JavaScript alone isn't enough anymore in Modern Web Apps JavaScript was built in 10 days in 1995. It was designed for tiny scripts - not 100,000-line enterprise apps, not distributed teams of 50 engineers, not systems that handle millions of users. In JS, this is perfectly valid code: function add(a, b) { return a + b; } add("5", 10); // Returns "510", not 15 No error. No warning. Just wrong behavior at runtime. In TypeScript: function add(a: number, b: number): number { return a + b; } add("5", 10); // ERROR at compile time - caught before it ships This is the core value of TypeScript: it moves bugs from runtime (when users feel it) to compile time (when only you see it).
To view or add a comment, sign in
-
TypeScript or JavaScript for your MVP? Here's what actually matters for founders who want to move fast and build something that lasts.
To view or add a comment, sign in
-
You know how the TypeScript Type System works? A Big Picture of Type System..... A Static, Structural, compile-time type system. A Static Typescript check the code before running the code. function add(a:number, b:number){ return a + b } const result = add(10, "10") // Here will get an error We use the number type in b, but we passed 10 in quotation marks, which means a string. JavaScript Check = Runtime Typescript Check = Compile Time Type Inference let name = "Josim" // inferred as string let age = 10 // inferred as number //Typescript guesses the type automatically. Now you can say: Typescript guessed automatically - also Javascript Guess dynamically - Why use Typescript? let name = "josim" name = 10 //Javascript replace the name with 10, but typescript throw the error. Structural Type Checking TypeScript doesn’t care about names - it cares about shapes. type User={ name: string age: number } const user = { name: "Josim", age: 20, extra: true } function newUser(user:User){ return user } const result = newUser(user) console.log(result) // Worked //It matches the required structure DO NOT USE any const x // it means any let name:any = "Josim" any === Turning OF Typescript TypeScript builds a “virtual type model” of your code and checks if everything is consistent. Day 2.1 Let me comment on where I should improve my writing #typescript #reactjs #software_engineering #nextjs #mern_stack #best_developer #josim_hawladar
To view or add a comment, sign in
-
-
One of the most underrated JavaScript features: Destructuring. Not because it's complex,but because once you truly get it, your code never looks the same again. Here's the shift it creates: BEFORE: const a = arr[0]; const b = arr[1]; const name = user.name; const age = user.age; AFTER: const [a, b] = arr; const { name, age } = user; Same logic.But destructuring goes deeper than just shorthand: ✦ Skip indexes in arrays using commas ✦ Rename variables on extraction ✦ Set default values for missing properties ✦ Use ...rest to capture everything remaining ✦ Destructure directly inside function parameters These patterns come up daily, in React, in Node.js, in any codebase that handles real data. I just published a full blog post breaking all of this down with visuals, before/after comparisons, and practical examples. Blog-link: https://lnkd.in/giGUXq7C #JavaScript #JS #WebDev #ProgrammingTips #CleanCode #SoftwareDevelopment
To view or add a comment, sign in
-
-
🚀 JavaScript vs TypeScript: Which One Should You Choose? As developers, we often face this question should we use JavaScript or TypeScript? Let’s break it down in a simple way 👇 🟡 JavaScript (JS) The language of the web. Flexible, fast, and beginner-friendly. ✅ Pros: • Easy to learn and start with • No setup required • Huge ecosystem and community • Great for small to medium projects ❌ Cons: • No type safety • Errors appear at runtime • Harder to manage large codebases 🔵 TypeScript (TS) JavaScript with superpowers 💪 (adds types) ✅ Pros: • Type safety (catches errors early) • Better code readability and structure • Ideal for large-scale applications • Excellent IDE support (autocompletion, hints) ❌ Cons: • Slight learning curve • Requires setup and compilation • More code compared to JS 🎯 When to use what? 👉 Use JavaScript if: • You’re a beginner • Building small projects • Need quick development 👉 Use TypeScript if: • Working on large projects • In a team environment • Want scalable and maintainable code 💡 My take: Start with JavaScript to build fundamentals, then move to TypeScript to write cleaner and safer code. #JavaScript #TypeScript #WebDevelopment #Frontend #Programming #Developers #CodingJourney
To view or add a comment, sign in
-
🚀 Day 2 of 30 Days of TypeScript JavaScript vs TypeScript — Real-World Comparison (Not Just Theory) We’ve all heard: “TypeScript is better than JavaScript.” But the real question is… how does it actually help in real projects? 🤔 From my experience 👇 🔹 JavaScript gives you flexibility …but also surprises you in production 😬 🔹 TypeScript adds structure …and catches issues before they become bugs 🚀 👉 The biggest difference? It’s not syntax. It’s confidence while building at scale. Fewer runtime errors Safer refactoring Better team collaboration Cleaner, self-documented code 💡 Simple rule I follow: Small scripts → JavaScript ✅ Real-world apps → TypeScript 🔥 🔥 Final Thought TypeScript doesn’t slow you down… It prevents you from slowing down later. 💬 Have you faced a bug in JavaScript that TypeScript could’ve prevented? Let’s discuss 👇 Angular React #TypeScript #JavaScript #WebDevelopment #Frontend #Backend #Programming #SoftwareEngineering #Coding #Developers #TechCareer
To view or add a comment, sign in
-
-
Back to Basics: Building a High-Performance Project in Vanilla JS! Recently, I worked on a project with a very specific client requirement: No Frameworks. Just Vanilla HTML, CSS, and JavaScript. Coming from a React.js background, where everything is component-based and state-managed, going back to the basics was both a challenge and a massive learning experience! Here’s what I realized during this build: The "Manual" Struggle: Managing the DOM manually and handling state without hooks like useState or useEffect definitely feels more "boring" and time-consuming at first. Optimization is a Real Test: Without React’s Virtual DOM, optimizing for speed and performance in plain JS is much harder. It forced me to write cleaner, more efficient scripts to keep the UI snappy. The Power of Control: While React makes everything "easy," Vanilla JS gives you absolute control over every single pixel and event listener. The Lesson? Frameworks like React are productivity powerhouses, but a strong grip on the fundamentals is what makes a developer truly "Future-Proof." It was a great experience delivering exactly what the client needed while sharpening my core engineering skills. Developers, do you think we rely too much on frameworks today? Let’s talk in the comments! 👇 #WebDevelopment #VanillaJS #JavaScript #CodingFundamentals #ClientSuccess #MERNStack #SoftwareEngineering #CareerGrowth
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development
React Hooks + TypeScript - how I actually think about typing React after 6 years in production: shubhamjha.com/blog/react-hooks-typescript?utm_source=linkedin&utm_medium=social&utm_campaign=react-hooks-typescript