Skip to main content
0

Developer Team
BorntoDev Co., Ltd.

react web React āļ„āļ·āļ­āļ­āļ°āđ„āļĢ ?

React āđ€āļ›āđ‡āļ™ JavaScript library āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŠāļĢāđ‰āļēāļ‡ user interface āļ—āļĩāđˆāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āļĩāļĒāļ™āđ‚āļ„āđ‰āļ”āđƒāļ™āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ UI āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđāļšāđˆāļ‡āđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āđ€āļĨāđ‡āļāđ†āļ­āļ­āļāļˆāļēāļāļāļąāļ™āđ„āļ”āđ‰ āļ‹āļķāđˆāļ‡āđāļ•āđˆāļĨāļ°āļŠāđˆāļ§āļ™āļŠāļēāļĄāļēāļĢāļ–āđāļĒāļāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ­āļ­āļāļˆāļēāļāļāļąāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ­āļīāļŠāļĢāļ° āđāļĨāļ°āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ™āļģāļŠāļīāđ‰āļ™āļŠāđˆāļ§āļ™ UI āđ€āļŦāļĨāđˆāļēāļ™āļąāđ‰āļ™āđ„āļ›āđƒāļŠāđ‰āļ‹āđ‰āļģāđ„āļ”āđ‰āļ­āļĩāļ

āđ€āļ•āļĢāļĩāļĒāļĄāđƒāļŠāđ‰āļ‡āļēāļ™ React

  • āļ•āļīāļ”āļ•āļąāđ‰āļ‡ npm āđ„āļ§āđ‰āđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āđƒāļŦāđ‰āđ€āļĢāļĩāļĒāļšāļĢāđ‰āļ­āļĒ āđ€āļ‚āđ‰āļēāđ„āļ›āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđ„āļ”āđ‰āļĨāļīāļ‡āļ„āđŒāļ™āļĩāđ‰ https://www.npmjs.com/get-npm
  • āđ€āļĢāļēāļˆāļ°āļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāđ‡āļāļ•āđŒāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ‚āļķāđ‰āļ™āļĄāļēāļˆāļēāļāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļŠāļ·āđˆāļ­ create-react-app āļ—āļĩāđˆāļˆāļ°āļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒāļžāļ·āđ‰āļ™āļāļēāļ™āļ•āđˆāļēāļ‡āđ†āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āđƒāļ™āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™ React āļ‚āļķāđ‰āļ™āļĄāļē āđƒāļŦāđ‰āļ—āļģāļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡

    npm install -g create-react-app
  • āļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāđ‡āļāļ•āđŒāđƒāļŦāļĄāđˆāļ‚āļķāđ‰āļ™āļĄāļēāļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡

    npx create-react-app myreact
  • āđ€āļĢāļēāļˆāļ°āđ„āļ”āđ‰āđ„āļŸāļĨāđŒāļ•āđˆāļēāļ‡āđ†āļ‚āļķāđ‰āļ™āļĄāļēāļ›āļĢāļ°āļĄāļēāļ“āļ™āļĩāđ‰
    React create-react-app file structure
  • āļĨāļ­āļ‡āļĢāļąāļ™āļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡

    npm start

    react run

  • āđ€āļšāļĢāļēāđ€āļ‹āļ­āļĢāđŒāļˆāļ°āđ€āļ›āļīāļ”āļ‚āļķāđ‰āļ™āļĄāļēāļ—āļĩāđˆ http://localhost:3000/ āļ–āđ‰āļēāļĄāļĩāļŦāļ™āđ‰āļēāļ•āļēāđāļšāļšāļ™āļĩāđ‰āđāļŠāļ”āļ‡āļ§āđˆāļēāļžāļĢāđ‰āļ­āļĄāđƒāļŠāđ‰āļ‡āļēāļ™āđāļĨāđ‰āļ§
    react starter page

āļ”āļđāđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāđ„āļ”āđ‰āļˆāļēāļ create-react-app āļāļąāļ™āļāđˆāļ­āļ™

/public/index.html

āļžāļ­āđ€āļ›āđ‡āļ™āđ€āļ§āđ‡āļšāđāļĨāđ‰āļ§āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļ™āļķāļāļ–āļķāļ‡āļ­āļĒāđˆāļēāļ‡āđāļĢāļāļāđ‡āļ„āļ·āļ­āđ„āļŸāļĨāđŒ HTML āļ‹āļķāđˆāļ‡ React āđ€āļ­āļ‡āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ„āļ›āđāļŠāļ”āļ‡āļœāļĨāđƒāļ™āđ€āļšāļĢāļēāđ€āļ‹āļ­āļĢāđŒāļāđ‡āļˆāļ°āļ•āđ‰āļ­āļ‡āļĄāļĩ HTML āđ€āļŠāđˆāļ™āļāļąāļ™ āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļˆāļēāļāļ„āļģāļŠāļąāđˆāļ‡ create-react-app āļāđ‡āļĄāļĩāđ„āļŸāļĨāđŒāļŠāļ·āđˆāļ­ index.html āļ­āļĒāļđāđˆāđƒāļ™āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒ public āļ­āļĩāļāļ—āļĩāļ™āļķāļ‡
react index.htmlāļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļ™āļ—āļĩāđˆāđ€āļĢāļēāđ€āļĢāļēāļŠāļ™āđƒāļˆāļāđ‡āļ„āļ·āļ­āļŠāđˆāļ§āļ™āļ—āļĩāđˆāļ­āļĒāļđāđˆāđƒāļ™ <body> āđ€āļ›āđ‡āļ™ <div id=”root”> āđ€āļžāļĢāļēāļ°āļ§āđˆāļēāđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāđ€āļĢāļēāļˆāļ°āļĨāļ­āļ‡āđ€āļ‚āļĩāļĒāļ™āļāļąāļ™āđƒāļ™āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰āļˆāļ°āļĄāļēāđ‚āļœāļĨāđˆāđƒāļ™ div āļ•āļąāļ§āļ™āļĩāđ‰āļ™āļąāđˆāļ™āđ€āļ­āļ‡

<body>
    <noscript>You need to enable JavaScript to run this app.</noscript>
    <div id="root"></div>
    <!--
      This HTML file is a template.
      If you open it directly in the browser, you will see an empty page.

      You can add webfonts, meta tags, or analytics to this file.
      The build step will place the bundled scripts into the <body> tag.

      To begin the development, run `npm start` or `yarn start`.
      To create a production bundle, use `npm run build` or `yarn build`.
    -->
  </body>

src/App.js

āđ„āļŸāļĨāđŒāļ™āļĩāđ‰āđ€āļŦāļĄāļ·āļ­āļ™āđ€āļ›āđ‡āļ™āđ„āļŸāļĨāđŒāļŦāļĨāļąāļāļ—āļĩāđˆ create-react-app āļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āļĄāļēāđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļšāđ€āļ›āđ‡āļ™āđ„āļŸāļĨāđŒ main āļ‚āļ­āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄ āļ—āļĩāđˆāļˆāļ°āļ™āļģāļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ•āđˆāļēāļ‡āđ†āļĄāļēāđƒāļŠāđ‰āļ‡āļēāļ™āļ”āđ‰āļ§āļĒāļāļąāļ™āđƒāļ™āđ„āļŸāļĨāđŒāļ™āļĩāđ‰
react app.js

src/index.js

āļ­āļĒāđˆāļēāļ‡āļ—āļĩāđˆāđ€āļŦāđ‡āļ™āļ§āđˆāļēāđ€āļĢāļēāļĄāļĩāđ„āļŸāļĨāđŒ index.html āļ˜āļĢāļĢāļĄāļ”āļēāđ†āđāļĨāļ°āđ„āļŸāļĨāđŒ App.js āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ€āļŦāļĄāļ·āļ­āļ™ main āļ‚āļ­āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄāđāļĨāđ‰āļ§ āđ„āļŸāļĨāđŒ index.js āļ™āļĩāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđ€āļŠāļ·āđˆāļ­āļĄāļĢāļ°āļŦāļ§āđˆāļēāļ‡āđ„āļŸāļĨāđŒāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđ„āļŸāļĨāđŒ
react index.js

āđāļāđ‰āđ‚āļ„āđ‰āļ”āļ™āļīāļ”āļŦāļ™āđˆāļ­āļĒāđƒāļŦāđ‰āļ”āļđāļ‡āđˆāļēāļĒāđ†

āđāļāđ‰āđ„āļŸāļĨāđŒ index.html āđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āđ€āļŦāļĄāļ·āļ­āļ™āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āļ™āļĩāđ‰

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>React App</title>
</head>

<body>

  <div id="root"></div>

</body>

</html>

āđāļĨāļ°āđ„āļŸāļĨāđŒ index.js

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

const myfirstelement = <h1>Hello BorntoDev :)</h1>

ReactDOM.render(myfirstelement, document.getElementById('root'));

āļĢāļąāļ™āļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡ npm start āđ€āļŦāļĄāļ·āļ­āļ™āđ€āļ”āļīāļĄ āļŦāļĢāļ·āļ­āļ–āđ‰āļēāđƒāļ„āļĢāļĒāļąāļ‡āļĢāļąāļ™āļ­āļĒāļđāđˆāļ•āļąāđ‰āļ‡āđāļ•āđˆāđƒāļ™āļ‚āđ‰āļ­āļāđˆāļ­āļ™āļ™āļĩāđ‰ āđāļ„āđˆāļāļ” save āļŦāļ™āđ‰āļēāļ•āļēāđƒāļ™āđ€āļšāļĢāļēāđ€āļ‹āļ­āļĢāđŒāļāđ‡āļˆāļ°āļ­āļąāļ›āđ€āļ”āļ•āļ•āļēāļĄāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āļ‹āļķāđˆāļ‡āļˆāļ°āđ„āļ”āđ‰āļ„āļģāļ§āđˆāļē Hello BorntoDev 🙂 āļ­āļ­āļāļĄāļēāđāļĨāđ‰āļ§

React JSX

āđƒāļ™āđ„āļŸāļĨāđŒ index.js āļˆāļ°āđ€āļŦāđ‡āļ™āļ§āđˆāļēāđ€āļĢāļēāļŠāļĢāđ‰āļēāļ‡āļ•āļąāļ§āđāļ›āļĢāļŠāļ·āđˆāļ­ myfirstelement āļ‚āļķāđ‰āļ™āļĄāļēāđāļĨāļ°āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļ›āđ‡āļ™ <h1>Hello BorntoDev :)</h1> āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™ HTML Tag āļ—āļĩāđˆāļ›āļāļ•āļīāđāļĨāđ‰āļ§āđ€āļĢāļēāļˆāļ°āđ„āļ›āļ›āļĢāļ°āļāļēāļĻāđāļšāļšāļ™āļĩāđ‰āđƒāļ™ JavaScript āļ˜āļĢāļĢāļĄāļ”āļēāđ„āļĄāđˆāđ„āļ”āđ‰ āđ‚āļ”āļĒāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđāļšāļšāļ™āļĩāđ‰āļˆāļ°āđ€āļĢāļĩāļĒāļāļ§āđˆāļē JSX āļĄāļēāļˆāļēāļ JavaScript XML āļ‹āļķāđˆāļ‡āļ—āļģāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āļĩāļĒāļ™ HTML āđ„āļ§āđ‰āđƒāļ™ React āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļŠāļ°āļ”āļ§āļāļŠāļšāļēāļĒ

āđāļ—āļĢāļ JavaScript āđƒāļ™ HTML

āļ™āļ­āļāļˆāļēāļāđ€āļ‚āļĩāļĒāļ™ HTML āđāļĨāđ‰āļ§ JSX āļĒāļąāļ‡āļ—āļģāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđāļ—āļĢāļāļāļēāļĢāļ—āļģāļ‡āļēāļ™āđ€āļ›āđ‡āļ™āđ‚āļ„āđ‰āļ” JavaScript āđ€āļ­āļēāđ„āļ§āđ‰āđƒāļ™ element āđ„āļ”āđ‰āļ”āđ‰āļ§āļĒāļāļēāļĢāđƒāļŠāđˆāđƒāļ™ { } āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™āļ–āđ‰āļēāđ€āļĢāļēāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ„āđˆāļēāļ‚āļ­āļ‡ myfirstelement āđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āđāļšāļšāļ™āļĩāđ‰āđāļĨāđ‰āļ§āļāļ”āđ€āļ‹āļŸ

const myfirstelement = <h1> PI: {Math.PI}</h1>

āļāđ‡āļˆāļ°āđ„āļ”āđ‰āļ„āđˆāļē PI āļ­āļ­āļāļĄāļēāđāļĨāđ‰āļ§
react jsx 1

āļ–āđ‰āļēāđ€āļ›āđ‡āļ™āđ‚āļ„āđ‰āļ” HTML āļŦāļĨāļēāļĒāļšāļĢāļĢāļ—āļąāļ”āđƒāļŦāđ‰āļ„āļĢāļ­āļšāļ”āđ‰āļ§āļĒ ()

const myfirstelement = (
  <span>
    <h1>Hello World</h1>
  </span>
);

HTML āļ•āđ‰āļ­āļ‡āļĄāļĩ tag āļŠāļąāđ‰āļ™āļ™āļ­āļāļŠāļļāļ”āđ€āļžāļĩāļĒāļ‡āļ•āļąāļ§āđ€āļ”āļĩāļĒāļ§

āļ–āđ‰āļēāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļˆāļ°āļŠāļĢāđ‰āļēāļ‡ HTML tag āļŦāļĨāļēāļĒāđ†āļ•āļąāļ§āđ€āļĢāļēāļˆāļģāđ€āļ›āđ‡āļ™āļˆāļ°āļ•āđ‰āļ­āļ‡āļ„āļĢāļ­āļšāđ€āļ­āļēāđ„āļ§āđ‰āļ”āđ‰āļ§āļĒ tag āļŠāļąāđ‰āļ™āļ™āļ­āļāļŠāļļāļ”āđƒāļŦāđ‰āļĢāļ§āļĄāđ€āļ›āđ‡āļ™āļ•āļąāļ§āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđ€āļŠāđˆāļ™āđƒāļŠāđˆāđ€āļ­āļēāđ„āļ§āđ‰āđƒāļ™ <div>

const myfirstelement = (
  <div>
    <span>
      <h1>Hello World</h1>
    </span>
    <span>
      <h1>Hello Dad</h1>
    </span>
    <span>
      <h1>Hello Mom</h1>
    </span>
  </div>
);

React Components

Components āļ—āļģāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđāļšāđˆāļ‡ UI āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āļ­āļ­āļāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āđ€āļĨāđ‡āļāđ†āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ­āļīāļŠāļĢāļ° āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ™āļģāđ„āļ›āđƒāļŠāđ‰āļ‹āđ‰āļģāđ„āļ”āđ‰ āđƒāļ™ React āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡ Components āđ„āļ”āđ‰āđāļšāļš function āđāļĨāļ° class āļ‹āļķāđˆāļ‡āļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāļāļēāļĢāļ™āļģāđ„āļ›āđƒāļŠāđ‰āļ‡āļēāļ™ āđāļ•āđˆāļ—āļąāđ‰āļ‡āļ„āļđāđˆāļˆāļ° return āļ­āļ­āļāļĄāļēāđ€āļ›āđ‡āļ™āđ€āļŦāļĄāļ·āļ­āļ™ HTML element āļ—āļąāđˆāļ§āđ†āđ„āļ›

Function Component

āļ§āļīāļ˜āļĩāļ—āļĩāđˆāļ‡āđˆāļēāļĒāļ—āļĩāđˆāļŠāļļāļ”āļāđ‡āļ„āļ·āļ­āļŠāļĢāđ‰āļēāļ‡āđāļšāļš function āđ‚āļ”āļĒāđ€āļĢāļēāļŠāļĢāđ‰āļēāļ‡ JavaScript āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļ˜āļĢāļĢāļĄāļ”āļēāđ† āļ—āļĩāđˆ return āļ„āđˆāļēāđ€āļ›āđ‡āļ™ HTML āļāđ‡āļžāļ­ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™

function Hello() {
  return <h1><i>Hello BorntoDev</i></h1>;
}

āđāļ„āđˆāļ™āļĩāđ‰āļāđ‡āđ„āļ”āđ‰āđ€āļ›āđ‡āļ™ component āļ­āļ­āļāļĄāļēāđāļĨāđ‰āļ§āļŦāļ™āļķāđˆāļ‡āļ•āļąāļ§ āļāļēāļĢāļ™āļģāđ„āļ›āđƒāļŠāđ‰āļ‡āļēāļ™āļāđ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āļāļąāļš ReactDOM.render āđ„āļ”āđ‰āđ€āļĨāļĒ

ReactDOM.render(<Hello />, document.getElementById('root'));

āļˆāļ°āđ€āļŦāđ‡āļ™āļ§āđˆāļēāđ€āļĢāļēāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ component āļŠāļ·āđˆāļ­ Hello āđ„āļ”āđ‰āđ€āļŦāļĄāļ·āļ­āļ™āđƒāļŠāđ‰āļ‡āļēāļ™ HTML āļ›āļāļ•āļīāđ€āļĨāļĒ āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
react 2

Class Component

āļŠāļĢāđ‰āļēāļ‡ class āļ—āļĩāđˆ extends āļˆāļēāļ React.Component āđ‚āļ”āļĒāļ„āđˆāļēāļ—āļĩāđˆāļĢāļĩāđ€āļ—āļīāļĢāđŒāļ™āļāđ‡āđ€āļ›āđ‡āļ™ HTML āđ€āļŦāļĄāļ·āļ­āļ™āļ„āļ­āļ™āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡ Function Component āđāļ•āđˆāļ–āđ‰āļēāļŠāļĢāđ‰āļēāļ‡āđ€āļ›āđ‡āļ™āđāļšāļšāļ„āļĨāļēāļŠāļˆāļ°āļĄāļĩāļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļĄāļēāļāļāļ§āđˆāļēāđāļšāļš Function āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ component āļŠāļ·āđˆāļ­ Hello āļāđˆāļ­āļ™āļŦāļ™āđ‰āļēāļ™āļĩāđ‰ āļ–āđ‰āļēāđ€āļ­āļēāļĄāļēāđ€āļ‚āļĩāļĒāļ™āđāļšāļš class āļˆāļ°āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āļĩāļĒāļ™āđāļĨāļ°āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āđāļšāļšāļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āļ™āļĩāđ‰

class Hello extends React.Component {
  render() {
    return <h1><i>Hello BorntoDev</i></h1>;
  }
}

ReactDOM.render(<Hello />, document.getElementById('root'));

React Props

Props āļ„āļ·āļ­āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļŠāđˆāļ‡āđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™ React Components āđ„āļ”āđ‰āļœāđˆāļēāļ™āļ—āļēāļ‡ HTML Attribute āļ—āļģāđƒāļŦāđ‰ component āđāļ•āđˆāļĨāļ°āļ•āļąāļ§āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļšāļ„āđˆāļēāđ€āļ‚āđ‰āļēāđ„āļ›āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰ āļˆāļēāļÂ  component <Hello /> āļ‚āļ­āļ‡āđ€āļĢāļēāļ–āđ‰āļēāđ€āļĢāļēāļˆāļ°āļŠāđˆāļ‡āļ„āđˆāļēāļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡āđ€āļ‚āđ‰āļēāđ„āļ›āļœāđˆāļēāļ™ props āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđ„āļ”āđ‰āđāļšāļšāļ™āļĩāđ‰

Function Component

function Hello(props) {
  return <h1>Hello {props.name}</h1>;
}

Class Component

class Hello extends React.Component {
  render() {
  return <h1>Hello {this.props.name}</h1>;
  }
}

āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰

ReactDOM.render(<Hello name="Pororo" />, document.getElementById('root'));

āļœāļĨāļĨāļąāļžāļ˜āđŒ

react prop

Component āļŠāļēāļĄāļēāļĢāļ–āļ­āļĒāļđāđˆāđƒāļ™ Component āđ„āļ”āđ‰

āļĨāļąāļāļĐāļ“āļ°āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ„āđ‰āļ” React āļ™āļąāđ‰āļ™āļ„āļ·āļ­āļāļēāļĢāđāļšāđˆāļ‡āļŠāđˆāļ§āļ™ UI āļ­āļ­āļāđ€āļ›āđ‡āļ™āļŠāļīāđ‰āļ™āđ€āļĨāđ‡āļāđ† āđāļ™āđˆāļ™āļ­āļ™āļ§āđˆāļēāļŠāļīāđ‰āļ™āļŠāđˆāļ§āļ™āđ€āļŦāļĨāđˆāļēāļ™āļąāđ‰āļ™āļ•āđ‰āļ­āļ‡āļŠāļēāļĄāļēāļĢāļ–āļ™āļģāļĄāļēāđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļ™āđ„āļ”āđ‰ āđƒāļ™ component āđāļ•āđˆāļĨāļ°āļ•āļąāļ§āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ component āļ­āļ·āđˆāļ™āđ†āđ„āļ§āđ‰āļ‚āđ‰āļēāļ‡āđƒāļ™āđ„āļ”āđ‰āļ”āđ‰āļ§āļĒ

function Someone() {
  const everyone = ['John', 'See', 'Na'];
  var anyone = everyone[Math.floor(Math.random() * everyone.length)];
  return <span>and {anyone}</span>;
}

class Hello extends React.Component {
  render() {
    return (
      <div>
        Hello {this.props.name} <Someone />
      </div>
    );
  }
}

ReactDOM.render(<Hello name="Pororo" />, document.getElementById('root'));

āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
react component in component

React State

āđƒāļ™ React Components āļˆāļ°āļĄāļĩ object āļ—āļĩāđˆāļŠāļ·āđˆāļ­āļ§āļ§āđˆāļē state āļ­āļĒāļđāđˆāļ‚āđ‰āļēāļ‡āđƒāļ™āļ”āđ‰āļ§āļĒ āļ‹āļķāđˆāļ‡āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ›āđ‡āļ™āļ•āļąāļ§āđāļ›āļĢāđ€āļāđ‡āļšāļ„āđˆāļēāļ•āđˆāļēāļ‡āđ†āļŠāļģāļŦāļĢāļąāļšāđƒāļŠāđ‰āđƒāļ™ component

āļŠāļĢāđ‰āļēāļ‡ State Object

āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡ state āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āđƒāļ™ constructure āļ‚āļ­āļ‡ Class Component

class Person extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      fname: "Nama",
      lname: "Chocolate",
      age: 20
    }
  }
  render() {
    return (
      <div>
        Hello
      </div>
    );
  }
}

āđƒāļŠāđ‰āļ‡āļēāļ™ State

State Object āļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļ—āļļāļāļ—āļĩāđˆāđƒāļ™ component āđ‚āļ”āļĒāļĄāļĩāļĢāļđāļ›āđāļšāļšāļ„āļ·āļ­ this.state.AttributeName

class Person extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      fname: "Nama",
      lname: "Chocolate",
      age: 20
    }
  }
  render() {
    return (
      <div>
        Hello, my name is {this.state.fname} {this.state.lname} ({this.state.age})
      </div>
    );
  }
}

āđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ„āđˆāļē State

āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ„āđˆāļēāđƒāļ™ state āđ„āļ”āđ‰āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļšāđƒāļŠāđ‰āļ‡āļēāļ™āļ•āļąāļ§āđāļ›āļĢāļ—āļąāđˆāļ§āđ†āđ„āļ› āđāļ•āđˆāđƒāļ™ component āļ™āļąāđ‰āļ™āļ–āđ‰āļēāļŦāļēāļ state āļĄāļĩāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ„āđˆāļēāđ„āļ› component āļˆāļ°āļ–āļđāļ render āđƒāļŦāļĄāđˆāđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļ”āđ‰āļ§āļĒ

āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ„āđˆāļēāđƒāļ™ state āđ„āļ”āđ‰āļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡Â 

this.setState({
  AttributeName: value
})

āđƒāļ™āļ—āļĩāđˆāļ™āļĩāđ‰āđ€āļĢāļēāļˆāļˆāļ°āļŠāļĢāđ‰āļēāļ‡āļ›āļļāđˆāļĄāļ—āļĩāđˆāļāļ”āđāļĨāđ‰āļ§āļ—āļģāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ„āđˆāļēāđƒāļ™ state

<button
  type="button"
  onClick={this.changeName}
>Change Name</button>

āđƒāļ™āđ‚āļ„āđ‰āļ”āļŠāļĢāđ‰āļēāļ‡āļ›āļļāđˆāļĄāļˆāļ°āđ€āļŦāđ‡āļ™āļ§āđˆāļēāļĄāļĩ attribute āļŠāļ·āđˆāļ­ onClick āļ—āļĩāđˆāđ€āļŦāļĄāļ·āļ­āļ™āđ€āļ›āđ‡āļ™ HTML attribute āļ›āļāļ•āļīāđāļ•āđˆāļ–āđ‰āļēāļŠāļąāļ‡āđ€āļāļ•āļˆāļ°āđ€āļŦāđ‡āļ™āļ§āđˆāļē C āđƒāļ™āļ„āļģāļ§āđˆāļē Click āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļžāļīāļĄāļžāđŒāđƒāļŦāļāđˆ āļ–āđ‰āļēāđƒāļ™ HTML āļ›āļāļ•āļīāļˆāļ°āđ€āļ›āđ‡āļ™ onclick āļ™āļąāđˆāļ™āđ€āļžāļĢāļēāļ°āļˆāļĢāļīāļ‡āđ†āđāļĨāđ‰āļ§āđ€āļ§āļĨāļēāđ€āļĢāļēāļŠāļĢāđ‰āļēāļ‡ attribute āđāļšāļš JSX āđāļ•āđˆāļĨāļ° attribute āđƒāļ™ HTML āļ—āļĩāđˆāđ€āļĢāļēāđ€āļŦāđ‡āļ™āđ€āļ›āđ‡āļ™ JSX attribute āđ„āļĄāđˆāđƒāļŠāđˆ HTML attribute āļ˜āļĢāļĢāļĄāļ”āļēāļ™āļąāđˆāļ™āđ€āļ­āļ‡

āđ€āļĢāļēāļāļģāļŦāļ™āļ”āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļ›āļļāđˆāļĄāđƒāļŦāđ‰āđ€āļĄāļ·āđˆāļ­āļ„āļĨāļīāļāđāļĨāđ‰āļ§āđ„āļ›āđ€āļĢāļĩāļĒāļāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļŠāļ·āđˆāļ­ changeName āļ‹āļķāđˆāļ‡āļĄāļĩāđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāļ—āļģāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ„āđˆāļēāđƒāļ™ state āļ­āļĒāļđāđˆāļ‚āđ‰āļēāļ‡āđƒāļ™ (āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđāļšāļš ES6 āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļĄāļēāļ•āļĢāļāļēāļ™āđƒāļ™ React)

changeName = () => {
  this.setState({
    fname: "Spicy",
    lname: "Lemon"
  })
}

āļĢāļ§āļĄāđ€āļ›āđ‡āļ™ component āļ—āļĩāđˆāļĄāļĩāļŦāļ™āđ‰āļēāļ•āļēāđāļšāļšāļ™āļĩāđ‰

class Person extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      fname: "Nama",
      lname: "Chocolate",
      age: 20
    }
  }

  changeName = () => {
    this.setState({
      fname: "Spicy",
      lname: "Lemon"
    })
  }

  render() {
    return (
      <div>
        <p>Hello, my name is {this.state.fname} {this.state.lname} ({this.state.age})</p>
        <button
          type="button"
          onClick={this.changeName}
        >Change Name</button>
      </div>
    );
  }
}

āļŦāļ™āđ‰āļēāļ•āļēāđ€āļ§āđ‡āļšāļāđˆāļ­āļ™āļāļ”āļ›āļļāđˆāļĄ
react before click

āļŦāļĨāļąāļ‡āļāļ”āļ›āļļāđˆāļĄ
react after click

āļˆāļ°āđ€āļŦāđ‡āļ™āļ§āđˆāļēāļ–āļķāļ‡āđāļĄāđ‰āđƒāļ™āđ‚āļ„āđ‰āļ”āļˆāļ°āđ„āļĄāđˆāđ„āļ”āđ‰āļ„āļģāļŠāļąāđˆāļ‡āđƒāļŦāđ‰ render āđƒāļŦāļĄāđˆ āđāļ•āđˆāđ€āļĄāļ·āđˆāļ­āļ„āđˆāļēāđƒāļ™ state āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ„āļ› component āļˆāļ°āļ­āļąāļ›āđ€āļ”āļ•āļ”āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđāļĨāļ°āđāļŠāļ”āļ‡āļœāļĨāļ—āļąāļ™āļ—āļĩ

āļŠāļģāļŦāļĢāļąāļš React āļāđ‡āđ€āļ›āđ‡āļ™āļ­āļĩāļāļŦāļ™āļķāđˆāļ‡ library āđƒāļ™āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ UI āļ—āļĩāđˆāļ™āđˆāļēāļŠāļ™āđƒāļˆ āļ–āđ‰āļēāđƒāļ„āļĢāļ­āđˆāļēāļ™āđāļĨāđ‰āļ§āļ­āļĒāļēāļāļĨāļ­āļ‡āđƒāļŠāđ‰āļāđ‡āļŠāļēāļĄāļēāļĢāļ–āļĻāļķāļāļĐāļēāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāļˆāļēāļ toturial āļ‚āļ­āļ‡ React āļāđ‡āđ„āļ”āđ‰āļ™āļ° āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļģāđ€āļāļĄ Tic-Tac-Toe āđāļĨāļ°āđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ React āđƒāļ™āđāļ•āđˆāļĨāļ°āđ€āļĢāļ·āđˆāļ­āļ‡āđ„āļ›āđƒāļ™āļ•āļąāļ§ āļāļ”āđ„āļ›āļ”āļđāļ—āļĩāđˆāļĨāļīāļ‡āļ„āđŒāļ™āļĩāđ‰āđ„āļ”āđ‰āđ€āļĨāļĒ https://reactjs.org/tutorial/tutorial.html

āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđāļĨāļ°āđ‚āļ„āđ‰āļ”āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļˆāļēāļ

https://reactjs.org/docs/getting-started.html

https://www.w3schools.com/react/default.asp

āļŦāļēāļāļ„āļļāļ“āļŠāļ™āđƒāļˆāļžāļąāļ’āļ™āļē āļŠāļ•āļēāļĢāđŒāļ—āļ­āļąāļž āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āđāļĨāļ° āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāļ‚āļ­āļ‡āļ•āļąāļ§āđ€āļ­āļ‡ ?

āļ­āļĒāđˆāļēāļĢāļ­āļŠāđ‰āļē ! āđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļ—āļąāļāļĐāļ°āļ”āđ‰āļēāļ™āļ”āļīāļˆāļīāļ—āļąāļĨāđ€āļžāļ·āđˆāļ­āļ­āļąāļžāđ€āļāļĢāļ”āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ‚āļ­āļ‡āļ„āļļāļ“
āđ€āļĢāļīāđˆāļĄāļ•āļąāđ‰āļ‡āđāļ•āđˆāļžāļ·āđ‰āļ™āļāļēāļ™ āļžāļĢāđ‰āļ­āļĄāļ›āļāļīāļšāļąāļ•āļīāļˆāļĢāļīāļ‡āđƒāļ™āļĢāļđāļ›āđāļšāļšāļŦāļĨāļąāļāļŠāļđāļ•āļĢāļ­āļ­āļ™āđ„āļĨāļ™āđŒāļ§āļąāļ™āļ™āļĩāđ‰

Developer

Author Developer

More posts by Developer

Leave a Reply

Close Menu

āđ€āļĢāļēāđƒāļŠāđ‰āļ„āļļāļāļāļĩāđ‰āđ€āļžāļ·āđˆāļ­āļžāļąāļ’āļ™āļēāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđāļĨāļ°āļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒāļ—āļĩāđˆāļ”āļĩāđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒāļ‚āļ­āļ‡āļ„āļļāļ“ āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āļĻāļķāļāļĐāļēāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđ„āļ”āđ‰āļ—āļĩāđˆ āļ™āđ‚āļĒāļšāļēāļĒāļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ•āļąāļ§ āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļēāļĢāļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ•āļąāļ§āđ€āļ­āļ‡āđ„āļ”āđ‰āļ‚āļ­āļ‡āļ„āļļāļ“āđ„āļ”āđ‰āđ€āļ­āļ‡āđ‚āļ”āļĒāļ„āļĨāļīāļāļ—āļĩāđˆ āļ•āļąāđ‰āļ‡āļ„āđˆāļē

āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ•āļąāļ§

āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ„āļļāļāļāļĩāđ‰āđ‚āļ”āļĒāđ€āļ›āļīāļ”/āļ›āļīāļ” āļ„āļļāļāļāļĩāđ‰āđƒāļ™āđāļ•āđˆāļĨāļ°āļ›āļĢāļ°āđ€āļ āļ—āđ„āļ”āđ‰āļ•āļēāļĄāļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢ āļĒāļāđ€āļ§āđ‰āļ™ āļ„āļļāļāļāļĩāđ‰āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™

āļĒāļ­āļĄāļĢāļąāļšāļ—āļąāđ‰āļ‡āļŦāļĄāļ”
āļˆāļąāļ”āļāļēāļĢāļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ•āļąāļ§
  • āļ„āļļāļāļāļĩāđ‰āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™
    āđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™āļ•āļĨāļ­āļ”

    āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļ„āļļāļāļāļĩāđ‰āļĄāļĩāļ„āļ§āļēāļĄāļˆāļģāđ€āļ›āđ‡āļ™āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ›āļāļ•āļī āđāļĨāļ°āđ€āļ‚āđ‰āļēāļŠāļĄāđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒ āļ„āļļāļ“āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ›āļīāļ”āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļ„āļļāļāļāļĩāđ‰āļ™āļĩāđ‰āđƒāļ™āļĢāļ°āļšāļšāđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒāļ‚āļ­āļ‡āđ€āļĢāļēāđ„āļ”āđ‰
    āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ„āļļāļāļāļĩāđ‰

  • āļ„āļļāļāļāļĩāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāļ—āļēāļ‡āļāļēāļĢāļ•āļĨāļēāļ”

    āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļ„āļļāļāļāļĩāđ‰āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļˆāļģāđ€āļ›āđ‡āļ™āđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđ€āļžāļ·āđˆāļ­āļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒ āđāļĨāļ° āļ™āļģāđ€āļŠāļ™āļ­āđ‚āļ›āļĢāđ‚āļĄāļŠāļąāļ™ āļŠāļīāļ™āļ„āđ‰āļē āļĢāļ§āļĄāļ–āļķāļ‡āļŦāļĨāļąāļāļŠāļđāļ•āļĢāļŸāļĢāļĩ āđāļĨāļ° āļŠāļīāļ—āļ˜āļīāļžāļīāđ€āļĻāļĐāļ•āđˆāļēāļ‡ āđ† āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļāļ›āļīāļ”āļ„āļļāļāļāļĩāđ‰āļ›āļĢāļ°āđ€āļ āļ—āļ™āļĩāđ‰āđ„āļ”āđ‰āđ‚āļ”āļĒāđ„āļĄāđˆāļŠāđˆāļ‡āļœāļĨāļ•āđˆāļ­āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļŦāļĨāļąāļ āđ€āļ§āđ‰āļ™āđāļ•āđˆāļāļēāļĢāļ™āļģāđ€āļŠāļ™āļ­āđ‚āļ›āļĢāđ‚āļĄāļŠāļąāļ™āļ—āļĩāđˆāļ­āļēāļˆāđ„āļĄāđˆāļ•āļĢāļ‡āļāļąāļšāļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢ
    āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ„āļļāļāļāļĩāđ‰

āļšāļąāļ™āļ—āļķāļāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē