Skip to main content
React MCQ Test

React MCQ test &
quiz online.

React is the dominant way to build user interfaces on the web. The hard parts are re-render timing, identity, and effect cleanup. 536 React questions are live, each with the code on the page. Read any of them free; sign in to attempt one and see the explanation.

536
React questions
120
Easy
218
Medium
198
Hard
why this works

Built for React mastery, not memorisation.

Every question is hand-checked, every answer comes with an explanation, and your progress builds into a clear picture of where you stand.

The snippet is on the page

Every React question shows its code before you answer, so you are reading real React, not a description of it.

A written explanation, always

Once you attempt a question you get the reasoning, not just a tick. That matters most on React, where hook rules, stale closures inside effects, key-based reconciliation, when memo actually helps, and how server components change where code runs.

Your weak topics, named

Progress is tracked per topic across the 42 React topics, so revision points at the gaps instead of the whole list.

what's covered

Every React concept,
tested honestly.

From fundamentals to interview-grade edge cases across 24 topic areas with progressive difficulty, so you find your gaps before an interviewer does.

useEffect dependency arrays
function components
what JSX is
embedding expressions
custom hooks
reconciliation diffing
lazy and Suspense
context and useContext
concurrent rendering tearing
forwardRef
controlled vs uncontrolled
useReducer
Server Components use client
fiber and lane priorities
render vs commit phase
React Router v6
hydration mismatches
React.memo bailout
bundler internals webpack vite
Server Actions
props read-only
useMemo
useCallback
useEffect vs useLayoutEffect timing

Ready to test your React chops?

Read any question and its code for free. A free account unlocks answering, the explanations and your score, so you walk away with a clearer picture of what to study next.

faq

Things people ask.

How many React MCQs are on Journey Uncommon?

536 React questions right now: 120 easy, 218 medium and 198 hard. That number is read straight from the question table when this page is built, so it is never a rounded marketing figure.

Do I need an account to read the React questions?

No. Every React question, including its code snippet, its difficulty and its topic, is readable without signing in. You need a free account only to submit an answer, see which option is correct, and read the worked explanation. We keep it that way so the platform stays honest about what you actually got right.

What do React interviewers actually test?

Hook rules, stale closures inside effects, key-based reconciliation, when memo actually helps, and how server components change where code runs.

Which React topics are covered?

42 distinct topics are tagged on the React questions, including useEffect dependency arrays, function components, what JSX is, embedding expressions, custom hooks, reconciliation diffing. The topic labels come from the questions themselves, so the list matches what you will actually be asked.

Is React practice free?

Yes. Reading is free and unlimited. A free account unlocks answering, explanations and progress tracking. Pro (₹199 per month) adds AI explanations and AI-graded guesstimates on top; it is not needed to practise React MCQs.

Where is React used in real jobs?

Frontend and full-stack roles, plus React Native mobile teams that share the same mental model.

What a React question here actually looks like

These are 12 of the 536 React questions in the library, pulled live from the question table. The snippet, the difficulty and the topic are all here. The answer options and the explanation are not. Those need a free account.

Hook rules, stale closures inside effects, key-based reconciliation, when memo actually helps, and how server components change where code runs.

Sample React MCQs

hardconcurrent rendering tearing

You wrap a state update that filters a large list in `startTransition`. A separate input's `onChange` calls `setText` outside the transition. Under concurrent rendering, why does typing stay responsive, and what is the precise relationship between the urgent `setText` update and the in-progress transition render that explains it?

function handleChange(e) {
  setText(e.target.value);            // urgent
  startTransition(() => {
    setFilter(e.target.value);        // transition (low priority)
  });
}
Read the full question →
Sign in to answer

Everything above is free to read. Answering needs a free account.

We keep the correct answer, the explanation and the scoring behind sign-in so the platform stays honest, which is why the correct option and the worked explanation for every React question stay behind a free account. Signing in is free and takes a few seconds.

Where React shows up

Frontend and full-stack roles, plus React Native mobile teams that share the same mental model.