Is it possible to use react without JSX?
Assesses fundamental understanding of React conventions, runtime behavior, and memory/performance considerations.
Hiring managers look for precision, avoidance of ambiguous jargon, and ability to explain trade-offs under real production conditions.
Yes, JSX is not mandatory for using React. Actually it is convenient when you don’t want to set up compilation in your build environment. Each JSX element is just syntactic sugar for calling React.createElement(component, props, ...children).
For example, let us take a greeting example with JSX,
class Greeting extends React.Component {
render() {
return <div>Hello {this.props.message}</div>;
}
}
ReactDOM.render(
<Greeting message="World" />,
document.getElementById("root")
);
You can write the same code without JSX as below,
class Greeting extends React.Component {
render() {
return React.createElement("div", null, `Hello ${this.props.message}`);
}
}
ReactDOM.render(
React.createElement(Greeting, { message: "World" }, null),
document.getElementById("root")
);
> Modern React Note (React 18/19): ReactDOM.render was deprecated in React 18 and removed in React 19. In modern applications, always use createRoot from react-dom/client:
>
> import { createRoot } from 'react-dom/client';
> const root = createRoot(document.getElementById('root'));
> root.render(<App />);
> Candidate Response Strategy & Interview Tips
- Start with a concise one-sentence summary: Deliver a direct, confident answer first before expanding into nuances.
- Demonstrate real-world trade-offs: Discuss where this approach excels and when you would avoid it in production systems.
- Discuss complexity & edge cases: Proactively explain time/space complexity or boundary conditions (null values, scale limits).
- Prepare for interviewer follow-ups: Technical hiring panels frequently probe deeper into concurrency, backward compatibility, or alternative libraries.