Introduction to JSX: Writing HTML in JavaScript for React

JSX (JavaScript XML) is a syntax extension for JavaScript used in React to describe what the user interface should look like. It looks very similar to HTML but is actually JavaScript under the hood.

Simple Explanation:

  • JSX allows you to write HTML-like code inside JavaScript files.

  • It makes it easier to build and visualize UI components in React by letting you write structure (like <div>, <h1>) directly in the JavaScript.

Why JSX?

Instead of separating HTML and JavaScript into different files or sections, JSX combines them so that you can build user interfaces in a single place.

Example:

Here’s how JSX works:

function Welcome() {
  return <h1>Hello, World!</h1>;
}

In this example, the <h1> is JSX, but it looks just like regular HTML. However, it’s actually converted to JavaScript, so the browser can understand it.

Key Points:

  • JSX is not HTML, it’s a syntax that looks like HTML but is transpiled into JavaScript.

  • You can use JavaScript expressions inside JSX by wrapping them in curly braces {}:

      function Welcome(props) {
        return <h1>Hello, {props.name}!</h1>;
      }
    
  • Why Use JSX?

  • Cleaner syntax: You can easily describe what the UI should look like.

  • Combines logic and UI: Keeps your logic (JavaScript) and structure (HTML-like) in the same place.

  • More readable: It makes the code more readable and easier to work with.

Without JSX:

React components can be written without JSX, but the syntax is more cumbersome:

 React.createElement('h1', null, 'Hello, World!');

This is what JSX gets converted into behind the scenes.


In Short:

JSX lets you write HTML-like code in your JavaScript files, making it easier to build and manage the user interface in React.