๐Ÿ“„ ื›ืœืœื™ JSX ื‘ึพReact

JSX ื”ื•ื ืกื™ื•ืžืช ืชื—ื‘ื™ืจ ืœ-JavaScript. ื–ื” ื ื›ืชื‘ ืœืฉื™ืžื•ืฉ ืขื React.

๐ŸŽฏ JSX ื ืจืื” ื›ืžื• HTML ืืš ืœื ืชืงืฃ ืœื“ืคื“ืคื ื™ื โ€“ ื—ื™ื™ื‘ ื”ื™ื“ื•ืจ.

JSX ื ืจืื” ื›ืžื• HTML, ืืš ืžืืคืฉืจ ืœื”ื›ื ื™ืก ืงื•ื“ JavaScript ื‘ืชื•ืš ื”ืกื•ื’ืจื™ื™ื:{}

  • ื ื™ืชืŸ ืœื”ื›ื ื™ืก ืžืฉืชื ื™ื, map, ื‘ื™ื˜ื•ื™ื™ื
  • ืืกื•ืจ ืœื”ืฉืชืžืฉ ื‘ึพif, for, switch
  • JSX ื—ื™ื™ื‘ ืœื”ื›ื™ืœ ืืœืžื ื˜ ืขื•ื˜ืฃ ืื—ื“

JSX Elements and Their Surroundings

ืืœืžื ื˜ื™ื ื™ื›ื•ืœื™ื ืœื”ื™ืฉืžืจ ื‘ืžืฉืชื ื™ื:

const navBar = <nav>I am a nav bar</nav>;

ื“ื•ื’ืžื” ืžื•ืจืฆืช ื‘ืคื•ืขืœ:

Attributes in JSX

ื›ืžื• ื‘ึพHTML:

const p1 = <p>foo</p>;
const p2 = <p id="large">bar</p>;

foo

bar

Nested JSX

ื—ื•ื‘ื” ืœืขื˜ื•ืฃ ื›ืžื” ืจื›ื™ื‘ื™ื ื‘ืกื•ื’ืจื™ื™ื:

const myDiv = (
  <div>
    <h1>Hello World</h1>
  </div>
);

JSX Outer Elements

ื—ื•ื‘ื” ืฉื™ื”ื™ื” ืจืง ืืœืžื ื˜ ื—ื™ืฆื•ื ื™ ืื—ื“:

// โœ… ืชืงื™ืŸ
const content = (
  <div>
    <p>paragraph</p>
    <p>second paragraph</p>
  </div>
);

// โŒ ืœื ืชืงื™ืŸ
const fail = (
  <p>1</p>
  <p>2</p>
);

Rendering JSX

ื›ืš ืžืจื ื“ืจื™ื ืœึพDOM:

import React from 'react';
import ReactDOM from 'react-dom';

ReactDOM.render(
  <h1>Hello world</h1>,
  document.getElementById('app')
);

Passing a Variable to ReactDOM.render

const myList = (
  <ul>
    <li>Check</li>
    <li>Check</li>
    <li>Check</li>
  </ul>
);

ReactDOM.render(
  myList,
  document.getElementById('app')
);
  • Check
  • Check
  • Check