Skip to content

50 facts

50 Fun Facts About React JS

Learn something new, then test yourself with the quiz.

Know these facts? Prove it.

Take the 50-question quiz
1

Why does JSX make React developers write className rather than HTML's class attribute?

It is reserved in JavaScript, so React names the prop after the DOM property className instead; the same clash turns the label attribute for into htmlFor.

2

Which pencil-and-paper game does the official React tutorial build, finishing with a 'time travel' move history?

Tic-tac-toe is the tutorial's project, and its final step stores every board in a history array so a player can jump back to any earlier move.

3

What does React's Strict Mode do to each component function in development to flush out impure code?

Strict Mode calls it twice and discards one result, so a component whose output differs between the two runs is caught in development, where production would only run it once.

4

Which deliberately alarming prop name does React require for injecting a raw HTML string into an element?

dangerouslySetInnerHTML takes an object shaped { __html: '...' } rather than a plain string, a second speed bump on top of the scary name before markup bypasses React's escaping.

5

Which four-word motto did Facebook give React Native in 2015, pointedly rejecting Java's cross-platform promise?

Learn once, write anywhere was the pitch: the launch post said Facebook was not chasing "write once, run anywhere", because each platform deserves its own app built by the same engineers.

6

Under which open-source umbrella body did Meta say in October 2025 it would place React and React Native?

The Linux Foundation now hosts the React Foundation, which formally launched on 24 February 2026 with Meta contributing the project amid concerns about a single vendor's dominance.

7

Which ageing browser did React 18 stop supporting when it shipped in March 2022 with automatic batching?

Internet Explorer 11 was cut loose because React 18's features lean on modern browser capabilities that cannot be polyfilled well, and Microsoft retired the browser itself that June.

8

What did Mark Zuckerberg call 'the biggest mistake we made as a company' in 2012, pushing Facebook toward native apps?

Betting too much on HTML5 was the regret: Facebook's HTML5 mobile app had been slow and unstable, and the fix became React Native, born from an internal hackathon on Jordan Walke's prototype.

9

Which hook, available since 16.8, returns a two-element array holding a value and the function that updates it?

useState returns exactly two values, the current state and a setter, and calling the setter schedules a re-render with the new value rather than mutating anything in place.

10

Which hook runs after render to handle side effects such as data fetching, optionally returning a cleanup function?

useEffect is one of the two most-used hooks; its dependency array decides when it re-runs, and an empty array makes it fire only once after the first mount.

11

What does React call the values a parent passes a child via JSX attributes, which the child may read but not alter?

Props are read-only snapshots: each render receives a fresh set, and a child that needs a different value must ask its parent to pass a new one rather than mutating them.

12

Which prop must every item in a React-rendered list carry so that reordered or deleted items are not mixed up?

A key lets React tell list items apart, which is why the console nags "Each child in a list should have a unique key prop" and why using the array index breaks when items move.

13

Since hooks arrived in 2019, which kind of component does the React documentation recommend for new code?

Function components won out once hooks let them hold state; the docs say class components are still supported but not recommended in new code.

14

Which open-source body declared React's BSD-plus-patents licence incompatible with its policies in 2017?

The Apache Software Foundation said the patent grant shifted risk onto downstream users; Facebook refused to budge in August 2017, then reversed and adopted MIT a month later.

15

Which React component, usually written as an empty tag pair, groups several children without adding a node to the DOM?

Fragment exists because a component must return a single root, and before React 16 that meant wrapping siblings in a pointless div; fragments can also be keyed when produced from an array.

16

What does the React documentation call moving data two sibling components both need into their nearest common parent?

Lifting state up is described as one of the most common things you do in React: the parent owns the value and hands it down, with callbacks letting children request changes.

17

What does React call a form input whose displayed value is driven by a state variable rather than by the DOM itself?

A controlled input takes value or checked from state plus an onChange handler, so React re-renders on every keystroke, while an uncontrolled one uses defaultValue and lets the DOM keep its own copy.

18

Which hook reads a value supplied by the nearest matching Provider above a component, sidestepping 'prop drilling'?

useContext subscribes a component to context from the closest provider above it, falling back to the default passed to createContext when no provider exists.

19

Which hook stores a mutable .current value that survives re-renders yet, when changed, does not trigger one?

useRef is the escape hatch for things React should not watch, such as a DOM node, a timer id or a previous value, because writing to ref.current never causes a re-render.

20

What does React call diffing a freshly rendered virtual DOM against the previous one and patching only the changes?

Reconciliation is what lets developers write code as if the whole page re-renders on every change while React touches only the DOM nodes that actually differ.

21

Which 2017 rewrite of React's renderer replaced the 'Stack' algorithm with work split into units spread across frames?

Fiber shipped inside React 16 in September 2017 and changed nothing about how developers write components; it made animation smoother by letting rendering pause, resume and be prioritised.

22

Which React 16.0 addition catches exceptions in its child tree and shows fallback UI rather than crashing the app?

As of React 19, error boundaries must still be class components using componentDidCatch or getDerivedStateFromError, which the docs list among the few remaining reasons to write a class.

23

Which React major release, in October 2020, was openly billed as adding 'no new features' for developers?

17 was a stepping stone: its point was letting two versions of React coexist on one page so huge apps could upgrade gradually, and it moved event delegation from the document to the root.

24

Which major version number did React jump to in April 2016, abandoning the 0.x numbering it had used since launch?

15 followed 0.14 directly, the team explaining that major versions signalled React had long been in production at Facebook and that semver would be followed as it had since 2013.

25

Which release, in October 2015, split browser rendering out of the main package into the separate react-dom library?

0.14 made the split so React could target more than browsers, a design that let React Native share the core; the same release also introduced stateless function components.

26

Which class lifecycle method, run once a component is in the DOM, is the classic place to start a data fetch?

componentDidMount fires after the first render hits the DOM, so network requests started there cannot delay the initial paint; its mirror, componentWillUnmount, is where timers and listeners get cleared.

27

React 16.3 flagged componentWillMount and two sibling lifecycle methods as legacy by adding which prefix to their names?

UNSAFE_ was chosen because those methods encourage patterns that break under async rendering; the old names still run with a deprecation warning, and React says only the prefixed names will work in a future major version.

28

React 18 replaced ReactDOM.render with which new API, imported from react-dom, to mount an app and unlock its features?

createRoot is imported from a new react-dom sub-path, and apps that keep calling the legacy render API stay in React 17 behaviour and get a deprecation warning.

29

Which React component shows a fallback such as a spinner while the components nested inside it are still loading?

Suspense first shipped in React 16.6 for code-split components and grew in React 18 to cover server rendering, so a slow section can stream in after the rest of the page.

30

Which React 16.6 function defers loading a component's code until its first render, enabling code splitting?

lazy wraps a dynamic import() so the chunk is fetched on first render, and it arrived in the same 16.6 release as memo, which gave function components a PureComponent-style bail-out.

31

React 18's headline under-the-hood change, letting React interrupt, pause and resume rendering work, is called what?

Concurrency in React 18 is opt-in, switched on only when a feature such as a transition is used, and it underpins transitions and streaming server rendering.

32

What does React 19 call functions using async transitions that manage pending state, errors and optimistic updates?

Actions were the headline of React 19 in December 2024, arriving with useActionState, useOptimistic and form elements that accept a function as their action prop.

33

Which wrapper function did React 19 make redundant by letting a function component take a ref as an ordinary prop?

forwardRef is slated for deprecation and removal, with a codemod to rewrite components, now that ref arrives in a function component's argument object like any other value.

34

The December 2025 'React2Shell' bug, scored a maximum CVSS 10.0, allowed remote code execution via which React feature?

Server Components were hit through the way React decoded payloads sent to Server Function endpoints; fixes landed in 19.0.1, 19.1.2 and 19.2.1, and Next.js apps from 13.3 through 16.1 were exposed downstream.

35

Which two-word directive at the top of a file marks a module as browser-side code in React's server-first model?

'use client' marks the module and everything it imports as client code, the only place hooks, state and event handlers are allowed; its twin 'use server' exposes server functions.

36

What does the React Compiler, open-sourced in 2024, automate so developers no longer hand-write useMemo and useCallback?

Automatic memoization is the compiler's whole job: it rewrites components and hooks at build time so they skip work when inputs have not changed, and version 1.0 shipped in October 2025.

37

Which Meta-built JavaScript engine became React Native's default in version 0.70 of 2022, speeding up app start-up?

Hermes precompiles JavaScript to bytecode at build time, shaving start-up time and memory on phones, and React Native has shipped with it switched on by default since 0.70.

38

Which Facebook app, alongside Groups, was already running React Native in production when it was unveiled in 2015?

Ads Manager was the app Facebook's team built to prove React Native, and its Android version, released in September 2015, was the first cross-platform React Native app.

39

In June 2024, which framework did the React Native team name as the only recommended community framework for new apps?

Expo won the endorsement when the React Native docs began steering newcomers to a framework rather than the bare CLI; the framework is free and open source, while Expo Application Services is an optional paid service.

40

In React Native, which two core components stand in for HTML's div and paragraph tags when laying out a screen?

View and Text map to UIView and UITextView on iOS and ViewGroup and TextView on Android; the docs describe View as a non-scrolling div, and every string must sit inside a Text.

41

Before its New Architecture, React Native shuttled batched messages between JavaScript and native code over what?

The bridge gave way to the JavaScript Interface, JSI, which lets JavaScript call native code synchronously; the New Architecture became the default in React Native 0.76 in October 2024.

42

Which state library did Dan Abramov and Andrew Clark build in 2015 around one store, the 'single source of truth'?

Redux began as Abramov's demo for a React Europe talk on hot reloading and time travel, and he handed maintenance to Mark Erikson and Tim Dorr in 2016 when he joined the React team.

43

What does Dan Abramov's state library call the pure functions turning the previous state and an action into the next?

Reducers take their name from Array.reduce: Abramov pictured Flux as a reduce operation over time, folding a stream of dispatched actions into state, and they must never mutate or cause side effects.

44

Next.js 13 in October 2022 introduced which new routing system, built on nested layouts, that went stable in 13.4?

The App Router lives in the app directory beside the older pages directory, and it is where server-first components, streaming and the new data-fetching methods landed before it was declared production-ready in May 2023.

45

Which commerce company bought the team behind the Remix framework in October 2022, vowing it would stay open source?

Shopify took on co-founders Michael Jackson and Ryan Florence's team, and the Remix framework was later merged into their routing library's version 7 in November 2024 as 'Framework Mode'.

46

Which host bought Gatsby, the React static-site generator, in February 2023 and closed Gatsby Cloud that August?

Netlify folded Gatsby's hosting into its own platform after buying the company, which had raised $35 million across its 2019 and 2020 funding rounds.

47

Gatsby pulls Markdown and CMS content into React pages through which query language, begun at Facebook in 2012?

GraphQL lets the caller state the exact shape of data it wants and get JSON back in that shape; Facebook open-sourced the spec in 2015 and moved it to its own foundation in 2018.

48

Which testing framework, born at Facebook, had its ownership transferred to the OpenJS Foundation in May 2022?

Jest was one of the four projects Facebook relicensed to MIT alongside React in 2017, and the 2022 move handed control to its core team as an OpenJS 'Impact Project'.

49

At which conference in May 2013 did Facebook open-source React, two years after it first powered the News Feed?

JSConf US hosted the reveal under a permissive licence that Facebook swapped for BSD-plus-patents in October 2014, lighting the fuse on the later licensing row.

50

JSX was modelled on which earlier Facebook extension that brought XML-style component syntax to PHP?

XHP let PHP developers write HTML-like tags as first-class objects, and the same instinct, markup living inside the language rather than in separate templates, defines JSX.

Think you know React JS?

Put these facts to the test with the interactive quiz.

Take the 50-question quiz

Teaching React JS?

Make a custom quiz — handy for classrooms and study groups.

Make a quiz on anything

Related quizzes