·
React 15 | Stack reconciliation, sync rendering |
React 16 | Fiber, error boundaries, fragments, portals |
React 16.8 | Hooks |
React 17 | JSX transform, event system update |
React 18 | Concurrent rendering, batching, transitions |
React 19 | Compiler, server components, actions |
componentDidMount, componentWillReceiveProps, etc.“This version had synchronous rendering, which caused performance issues in complex applications.”
👉 Fiber Architecture (complete rewrite)
getDerivedStateFromPropsgetSnapshotBeforeUpdate“React 16 made rendering interruptible and improved error handling.”
useStateuseEffectuseContextuseMemouseCallbackuseReduceruseRef“Hooks replaced class components for most use cases and enabled better logic reuse.”
👉 No new features, smoother upgrades
import React“React 17 made upgrades easier and reduced breaking changes.”
👉 Concurrent Rendering
Before:
Now:
👉 mark low-priority updates
👉 delay non-urgent UI updates
“React 18 improves performance and responsiveness using concurrent features.”
👉 Reduce client work + smarter rendering
useMemo/useCallback“React is moving toward server-driven UI and automatic optimizations.”
React 15 | Stack reconciliation, sync rendering |
React 16 | Fiber, error boundaries, fragments, portals |
React 16.8 | Hooks |
React 17 | JSX transform, event system update |
React 18 | Concurrent rendering, batching, transitions |
React 19 | Compiler, server components, actions |
“React 15 used synchronous stack reconciliation. React 16 introduced Fiber, enabling asynchronous rendering and features like error boundaries. React 16.8 introduced hooks, which transformed how we write components. React 17 focused on internal improvements and smoother upgrades. React 18 introduced concurrent rendering features like automatic batching, useTransition, and useDeferredValue. Recent versions like React 19 focus on server components and compiler-based optimizations.”
❌ Saying hooks came in React 17
❌ Saying Suspense came only in React 18
❌ Ignoring Fiber
❌ Not mentioning concurrent rendering
Now you’re ready for:
Or I can:
👉 Give React scenario-based interview questions (very important for Cognizant)