JSX

Source file extensions: .jsx|tsx

Pragma is supported

By default,

let foo = <div id="foo">Hello!</div>;

will generate

var foo = React.createElement('div', { id: 'foo' }, 'Hello!');

But,using pragma (/** @jsx */) :

/** @jsx h */
let foo = <div id="foo">Hello!</div>;

will generate

var foo = h('div', { id: 'foo' }, 'Hello!');

References

Quick example

index.jsx

import React, { useState } from 'react';
import ReactDOM from 'react-dom';

export default function MyCounter() {
const [count, setCount] = useState(0);

return (
<div>
<button onClick={() => setCount(count - 1)}>-</button>
<span>{count}</span>
<button onClick={() => setCount(count + 1)}>+</button>
</div>
);
}