DeployU
Interviews / Frontend Engineering / Clarify the core React concepts: Element, Component, and Node.

Questions

Clarify the core React concepts: Element, Component, and Node.

conceptual React Fundamentals Interactive Quiz
How Different Experience Levels Approach This
Junior Engineer
Surface Level

They're all basically the same thing—they're all parts of React that make up the UI.

Senior Engineer
Production Ready

They're distinct concepts with specific meanings:

React Element A plain JavaScript object that describes what you want to see on the screen. It’s a lightweight, immutable blueprint—not the actual DOM node.

// A React Element describing a div
const divElement = <div>Hello!</div>;

// What JSX compiles to:
// React.createElement('div', null, 'Hello!')

React Component A function or class that takes props and returns a React Element. Components are the reusable building blocks you write.

// A Function Component - returns a React Element
function MyComponent({ name }) {
  return <h1>Hello, {name}!</h1>;
}

React Node The broadest term—anything React can render:

  • React Elements (<div />, <MyComponent />)
  • Strings ("Hello")
  • Numbers (123)
  • Booleans, null, undefined (ignored but valid)
  • Arrays of React Nodes
// All of these are valid React Nodes
<ParentComponent>
  <div>Element node</div>
  {"String node"}
  {123}
  {[<p key="1">Array item</p>]}
</ParentComponent>

The Relationship:

  • You write a React Component
  • A Component returns a React Element
  • An Element is a description of what to render
  • A Node is anything React can render
What Makes the Difference?
  • Context over facts: Explains when and why, not just what
  • Real examples: Provides specific use cases from production experience
  • Trade-offs: Acknowledges pros, cons, and decision factors

Practice Question

Which of the following best describes a 'React Element'?