⚛️ Top 150 React Interview Questions – 22/150 📌 Topic: How to Update State in React? This is a core React skill — and a common source of bugs if done incorrectly. 🔑 What is the correct method? In Functional Components, React gives you an updater function from the useState hook. You must never modify state directly. ❌ Incorrect: count = count + 1; (React won’t know the value changed, so the UI won’t update) ✅ Correct: setCount(count + 1); (This tells React to re-render the component) ⚡ Why use the updater function? React performs batching — it may group multiple state updates together for performance. Using the setter function ensures React’s reconciliation process runs correctly and the UI stays in sync. 🛠️ How to update different types of state? A. Simple values (numbers / strings): setCount(5); setName("Amit"); B. Based on previous state (Best Practice): If the new state depends on the old state, always use a callback: setCount(prevCount => prevCount + 1); This avoids bugs caused by React’s asynchronous updates. C. Objects & Arrays (Immutability): // Object setUser({ ...user, age: 25 }); // Array setItems([...items, newItem]); 🚫 Where people go wrong Updating state inside render: Calling setState directly in the component body causes an infinite render loop. Expecting immediate updates: Logging state right after setState still shows the old value because updates are scheduled, not instant. 📝 Final takeaway: Updating state is like publishing a new edition of a book 📘 You don’t edit the old copy (mutation). You publish a new version and give it to the reader (React). 👇 Comment “React” if this series is helping you 🔁 Share with someone preparing for React interviews #ReactJS #FrontendDevelopment #ReactInterview #JavaScript #WebDevelopment #LearningInPublic #Top150ReactQuestions
React State Update Best Practices
More Relevant Posts
-
⚛️ Top 150 React Interview Questions – 37/150 📌 Topic: Importance of ‘Keys’ in Lists 🔹 WHAT is it? A Key is a special string attribute that you must include when rendering lists in React. Keys help React identify which items in an array have changed, been added, or been removed, giving each element a stable identity. 🔹 WHY is it designed this way? React uses a process called Reconciliation (Diffing) to update the UI efficiently. Performance: Instead of re-rendering every item, React uses keys to match existing elements and only move the DOM nodes that actually changed. State Preservation: Keys ensure that internal state (like text inside an input field) stays with the correct item even when the list is sorted or shuffled. Accuracy: They prevent “ghosting” bugs where data from a deleted row appears in a different row. 🔹 HOW do you do it? (The Implementation) Keys must be added to the outermost element inside the .map(). Correct Way (Using Unique IDs): function UserList({ users }) { return ( <ul> {users.map((user) => ( <li key={user.id}>{user.name}</li> ))} </ul> ); } 🔹 WHERE are the best practices? When to Use: Always use keys whenever you render a list from an array. Use Stable IDs: Prefer unique IDs from your data (like database IDs) instead of array indexes, especially if the list can be reordered. Avoid Random Keys: Never use Math.random() as a key. It forces components to remount on every render, causing performance issues and state loss. 📝 Summary for your notes: Keys are like Roll Numbers in a classroom 🎓 Even if students change seats, the teacher (React) can still identify everyone correctly using their roll number. 👇 Comment “React” if this series is helping you 🔁 Share with someone preparing for React interviews #ReactJS #FrontendDevelopment #ReactInterview #JavaScript #WebDevelopment #LearningInPublic #Top150ReactQuestions
To view or add a comment, sign in
-
-
⚛️ Top 150 React Interview Questions – 50/150 📌 Topic: Handling Multiple Inputs 🔹 WHAT is it? Handling multiple inputs is a technique where you use one state object and one change handler to manage many form fields at once, instead of creating separate state variables for each input. This approach keeps all form data in a single place. 🔹 WHY use it? When a form has many fields (Name, Email, Phone, etc.), multiple useState hooks quickly become messy. ✅ Cleaner Code Write the logic once — it works for any number of inputs. ✅ Easy API Submission All form data is already inside one object, ready to send. ✅ Scalable Adding a new input only requires adding one key to the state object. 🔹 HOW do you implement it? Each input gets a name attribute that matches the key in state. We update the state dynamically using computed property names. const [form, setForm] = useState({ firstName: "", email: "" }); const handleChange = (e) => { const { name, value } = e.target; setForm({ ...form, [name]: value }); }; // JSX <input name="firstName" onChange={handleChange} /> <input name="email" onChange={handleChange} /> 👉 Only the field you type in gets updated. 🔹 WHERE / Best Practices ✔ Always use the spread operator (...form) → Forgetting it will overwrite other fields ✔ Ensure name attributes exactly match state keys ✔ Best suited for forms with more than 2 inputs 📝 Summary (Easy to Remember) Handling multiple inputs is like using a multi-tool 🛠️ Instead of carrying a different tool for every task (multiple states), you use one smart tool with dynamic parts (object keys). 👇 Comment “React” if this series is helping you 🔁 Share with someone preparing for React interviews #ReactJS #ReactInterview #FrontendDevelopment #JavaScript #WebDevelopment #LearningInPublic #Top150ReactQuestions #FrontendEngineer
To view or add a comment, sign in
-
-
I once walked out of a #React interview thinking: “I know React… why did this feel so hard?” The questions weren’t tricky. They were fundamental. ❌ “Explain Virtual DOM” ❌ “Props vs State” ❌ “Why keys matter?” ❌ “useEffect dependencies?” That’s when I realized something important 👇 Most React interviews don’t test how much you’ve built — They test how clearly you understand what you already use every day. Curated with: ✅ Basic → Intermediate → Advanced questions ✅ Clear, interview-friendly explanations ✅ Real concepts interviewers care about Perfect if you’re: 🎯 Preparing for frontend/full-stack interviews 🎯 Switching companies 🎯 Revising React after long project work Because in interviews, confidence comes from clarity, not cramming. 📎 ReactJS Interview Questions PDF attached 👉 Follow Ankit Sharma Sharma for interview prep, system design, and practical engineering insights. #ReactJS #FrontendInterviews #JavaScript #WebDevelopment #SDE #InterviewPreparation
To view or add a comment, sign in
-
⚛️ Top 150 React Interview Questions – 28/150 📌 Topic: The useRef Hook 🔹 WHAT is useRef? useRef is a React Hook that returns a mutable ref object. Think of it as a box that can hold any value (like a DOM element or a variable) that stays the same between re-renders. ⚠️ Most important rule: Changing a ref does NOT cause the component to re-render. 🔹 WHY do we need useRef? 1️⃣ Accessing the DOM Sometimes you need to: Focus an input field Measure the size of a div React handles most DOM work automatically, but useRef gives you a direct grab handle when needed. 2️⃣ Storing values without re-rendering useState → value change = UI re-render useRef → value change = NO UI re-render So if you want to track something (like click count) without refreshing the screen, useRef is the right tool. 🔹 HOW do you use useRef? Syntax: const myRef = useRef(initialValue); It returns an object with one property: myRef.current Example: Focusing an Input function TextInputWithFocusButton() { const inputEl = useRef(null); // 1. Create the ref const onButtonClick = () => { inputEl.current.focus(); // 3. Use 'current' }; return ( <> <input ref={inputEl} type="text" /> {/* 2. Attach the ref */} <button onClick={onButtonClick}>Focus the input</button> </> ); } 🔹 WHERE is useRef used? Managing Focus → Search bar auto-focus Media Playback → Control <video> / <audio> Third-Party Libraries → D3.js, Google Maps (need direct DOM access) Storing Previous Values → Track earlier state values 📝 Summary for your notes: useRef is like a Laser Pointer 🔦 — it lets you point directly at something on the screen (DOM). It’s also like a Secret Notebook 📒 where you store data without forcing the UI to update. 👇 Comment “React” if this series is helping you 🔁 Share with someone preparing for React interviews #ReactJS #FrontendDevelopment #ReactInterview #JavaScript #WebDevelopment #LearningInPublic #Top150ReactQuestions
To view or add a comment, sign in
-
-
⚛️ Top 150 React Interview Questions – 74/150 📌 Topic: Rules of Hooks ━━━━━━━━━━━━━━━━━━━━━━ 🔹 WHAT is it? The Rules of Hooks are two strict rules that React enforces to ensure state and effect logic stays consistent between renders. They exist because React relies on the order in which Hooks are called. ━━━━━━━━━━━━━━━━━━━━━━ 🔹 WHY follow the Rules of Hooks? 🔁 Predictability React tracks hooks by call order. If the order changes, React can’t match state correctly. 🐞 Bug Prevention Prevents hard-to-debug issues where state gets mixed up or appears to be “lost” during re-renders. ━━━━━━━━━━━━━━━━━━━━━━ 🔹 HOW do you follow the rules? 📏 Rule 1: Call Hooks at the Top Level Do NOT call hooks inside loops, conditions, or nested functions. 📏 Rule 2: Call Hooks only from React Functions Hooks must be called from: • React function components • Custom Hooks Never from regular JavaScript functions. Example: // ✅ CORRECT function MyComponent() { const [count, setCount] = useState(0); } // ❌ INCORRECT if (condition) { const [count, setCount] = useState(0); } ━━━━━━━━━━━━━━━━━━━━━━ 🔹 WHERE / Best Practices ✔ Use ESLint Plugin eslint-plugin-react-hooks automatically catches rule violations ✔ Handle Early Returns Carefully If needed, place early returns after all Hook calls ━━━━━━━━━━━━━━━━━━━━━━ 📝 SUMMARY (Easy to Remember) The Rules of Hooks are like reserved seats in a theater 🎭 Everyone must sit in the same order every time. If the order changes, the show (your app) turns into chaos. ━━━━━━━━━━━━━━━━━━━━━━ 👇 Comment “React” if this handbook is helping you 🔁 Share with someone preparing for React interviews #ReactJS #ReactInterview #ReactHooks #RulesOfHooks #JavaScript #Top150ReactQuestions #LearningInPublic #Developers ━━━━━━━━━━━━━━━━━━━━━━
To view or add a comment, sign in
-
-
⚛️ Top 150 React Interview Questions – 75/150 📌 Topic: Hooks inside Loops / Conditions? ━━━━━━━━━━━━━━━━━━━━━━ 🔹 WHAT is it? React has a strict rule: ❌ Do not call Hooks inside loops, conditions, or nested functions. Hooks must always be called at the top level of your React function. ━━━━━━━━━━━━━━━━━━━━━━ 🔹 WHY does this rule exist? 🔢 Preserving Order React links state to hooks based on the order they are called. ⚠️ State Corruption If a Hook is skipped (inside a condition) or repeated (inside a loop), the order breaks and React assigns wrong state to wrong Hooks. ━━━━━━━━━━━━━━━━━━━━━━ 🔹 HOW do you handle logic correctly? ❌ WRONG — Hook inside logic if (user) { useEffect(() => { // never do this }); } ✅ RIGHT — Logic inside Hook useEffect(() => { if (user) { // logic goes here } }, [user]); 👉 Hooks first, logic later. ━━━━━━━━━━━━━━━━━━━━━━ 🔹 WHERE / Best Practices ✔ Top-Level Only Always declare all Hooks at the start of the component ✔ Handle Early Returns Carefully If you have: if (!data) return null; make sure all Hooks are declared above it ━━━━━━━━━━━━━━━━━━━━━━ 📝 SUMMARY (Easy to Remember) React Hooks are like numbered lockers 🔐 React doesn’t know locker names — it only knows Locker #1, #2, #3. If you skip Locker #2, React puts the stuff meant for #2 into #3, and everything gets mixed up. ━━━━━━━━━━━━━━━━━━━━━━ 👇 Comment “React” if this handbook is helping you 🔁 Share with someone preparing for React interviews #ReactJS #ReactInterview #ReactHooks #RulesOfHooks #JavaScript #Top150ReactQuestions #LearningInPublic #Developers ━━━━━━━━━━━━━━━━━━━━━━
To view or add a comment, sign in
-
-
⚛️ Top 150 React Interview Questions – 26/150 📌 Topic: The useEffect Hook & Dependency Array 🔹 WHAT is useEffect? useEffect is a React Hook used to perform side effects in a component. A side effect is anything that affects something outside the component’s render, such as: Fetching data from an API Setting up a timer Subscriptions Manual DOM changes 🔹 WHY do we need useEffect? A React component’s main job is to calculate and return UI. If you place side-effect code (like an API call) directly inside the component body: It runs on every re-render Can cause performance issues Can lead to infinite loops useEffect gives you control over when that code should run. 🔹 HOW do you use useEffect? Syntax: useEffect(() => { // side effect code }, [dependencyArray]); The first argument is the effect logic The second argument decides when the effect runs 🔹 WHERE does the Dependency Array matter? The Dependency Array is the trigger list. No array useEffect(() => {}) Runs after every render (usually a mistake) Empty array useEffect(() => {}, []) Runs only once (after first render) → API calls, timers With dependencies useEffect(() => {}, [count]) Runs on mount and whenever count changes Cleanup happens by returning a function inside useEffect (e.g. clearing timers, unsubscribing). 📝 Summary for your notes: useEffect is like a Post-it note for React: “After you finish rendering the UI, go do this task.” The Dependency Array decides whether that task should run again or not. 👇 Comment “React” if this series is helping you 🔁 Share with someone preparing for React interviews #ReactJS #FrontendDevelopment #ReactInterview #JavaScript #WebDevelopment #LearningInPublic #Top150ReactQuestions
To view or add a comment, sign in
-
-
🚀 React.js Interview Cheatsheet Preparing for React.js interviews or revising key concepts quickly? This cheat sheet covers the most frequently asked React topics in interviews 👇 ⚛️ Core React Basics 🔹 JSX – JavaScript syntax extension 🔹 Components – Functional & Class 🔹 Props – Immutable data passed to components 🔹 State – Mutable, component-level data 🔹 Virtual DOM – Efficient UI updates 🪝 Important React Hooks 🔹 useState() – Manage component state 🔹 useEffect() – Lifecycle & side effects 🔹 useContext() – Avoid prop drilling 🔹 useRef() – DOM access & persistent values 🔹 useMemo() / useCallback() Performance optimization 🔄 Lifecycle in Functional Components 🔹 Mount → useEffect(() => {}, []) 🔹 Update → useEffect(() => {}, [deps]) 🔹 Unmount → Cleanup function 🧭 Routing & State Management 🔹 React Router – Navigation & routing 🔹 Context API – Global state 🔹 Redux / Redux Toolkit – Large-scale apps 🧠 Performance & Best Practices 🔹 Use React.memo() to prevent re-renders 🔹 Lazy loading with React.lazy() & Suspense 🔹 Use keys properly in lists 🔹 Keep components small & reusable ❓ Popular Interview Questions ✔ State vs Props ✔ Controlled vs Uncontrolled Components ✔ Why Hooks were introduced ✔ Virtual DOM vs Real DOM ✔ CSR vs SSR #ReactJS #FrontendDeveloper #ReactInterview #JavaScript #WebDevelopment #CodingInterview #InterviewPreparation #ReactHooks #Frontend #DeveloperCommunity
To view or add a comment, sign in
-
⚛️ Top 150 React Interview Questions – 77/150 📌 Topic: Sharing Logic with Hooks ━━━━━━━━━━━━━━━━━━━━━━ 🔹 WHAT is it? Sharing logic means taking common behavior (like data fetching, scroll tracking, or online status) and moving it into a Custom Hook. This allows multiple components to reuse the same logic without rewriting code. ━━━━━━━━━━━━━━━━━━━━━━ 🔹 WHY share logic using Hooks? ♻️ No Code Duplication Write the logic once and reuse it everywhere 🧠 Separation of Concerns Components focus on UI Hooks handle the “brain work” (logic) ━━━━━━━━━━━━━━━━━━━━━━ 🔹 HOW do you share logic? Create a function that starts with use and move your state and effects into it. Example: function useOnlineStatus() { const [isOnline, setIsOnline] = useState(true); // effect logic to track online/offline return isOnline; } Usage in any component: const status = useOnlineStatus(); ━━━━━━━━━━━━━━━━━━━━━━ 🔹 WHERE / Best Practices ✔ Return Logic, Not UI Custom Hooks should return data or functions, never JSX ✔ Keep Hooks Generic Design hooks for reusable tasks (example: useFetch, useForm, useLocalStorage) ━━━━━━━━━━━━━━━━━━━━━━ 📝 SUMMARY (Easy to Remember) Sharing logic with Hooks is like a plug-and-play battery 🔋 You build the power source once, and any device (component) can plug it in to start working. ━━━━━━━━━━━━━━━━━━━━━━ 👇 Comment “React” if this handbook is helping you 🔁 Share with someone preparing for React interviews #ReactJS #ReactInterview #ReactHooks #CustomHooks #JavaScript #Top150ReactQuestions #LearningInPublic #Developers ━━━━━━━━━━━━━━━━━━━━━━
To view or add a comment, sign in
-
-
⚛️ Top 150 React Interview Questions – 47/150 📌 Topic: Uncontrolled Components (Deep Dive) 🔹 WHAT is it? An Uncontrolled Component is a form element where the data is handled by the DOM itself, not by React state. Instead of tracking every keystroke, React accesses the value only when needed using a ref (usually on submit). 🔹 WHY is it designed this way? Sometimes controlling every input change is unnecessary. Performance: In very large forms, updating state on every keystroke can cause frequent re-renders. Uncontrolled components avoid this overhead. Integration: They work better with non-React libraries (like jQuery plugins) that manage their own internal state. Simplicity: For simple forms (search boxes, one-time inputs), uncontrolled components reduce boilerplate code. 🔹 HOW do you do it? (Implementation) You use the useRef hook to directly access the DOM value. import { useRef } from 'react'; function SimpleSignup() { const nameRef = useRef(null); const handleSubmit = (e) => { e.preventDefault(); alert(nameRef.current.value); }; return ( <form onSubmit={handleSubmit}> <input type="text" ref={nameRef} defaultValue="Guest" /> <button type="submit">Submit</button> </form> ); } 🔹 WHERE are the best practices? When to Use: • File inputs (always uncontrolled in React) • Very large forms where performance matters • Inputs needed only on submit Default Values: Use defaultValue, not value. Don’t Overuse: Avoid uncontrolled components when you need real-time validation or dynamic UI updates. 📝 Summary for your notes Uncontrolled Components are like a Suggestion Box 🗳️ React doesn’t watch you write the note. It simply opens the box and reads it only when you submit. 👇 Comment “React” if this series is helping you 🔁 Share with someone preparing for React interviews #ReactJS #FrontendDevelopment #ReactInterview #JavaScript #WebDevelopment #LearningInPublic #Top150ReactQuestions
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