React-ის შესავალი სახელმძღვანელო: ნულიდან პირველი მომხმარებლის ინტერფეისის აგებამდე

2/19/2026
6 min read
# React-ის შესავალი სახელმძღვანელო: ნულიდან პირველი მომხმარებლის ინტერფეისის აგებამდე

React არის JavaScript ბიბლიოთეკა მომხმარებლის ინტერფეისების ასაგებად. ის შემუშავებულია და შენარჩუნებულია Facebook-ის მიერ და გახდა ერთ-ერთი ყველაზე პოპულარული ინსტრუმენტი ფრონტ-ენდ დეველოპმენტში. ეს სახელმძღვანელო დაგეხმარებათ ნულიდან, ეტაპობრივად გაიგოთ React-ის ძირითადი ცნებები და ააწყოთ მარტივი მომხმარებლის ინტერფეისი.

## რატომ ავირჩიოთ React?

React-ს აქვს შემდეგი უპირატესობები:

* **კომპონენტიზაცია:** React ყოფს მომხმარებლის ინტერფეისს დამოუკიდებელ, მრავალჯერად კომპონენტებად. ეს აადვილებს კოდის შენარჩუნებას და გაგებას.
* **დეკლარაციული:** React იყენებს დეკლარაციულ პროგრამირების სტილს, რაც იმას ნიშნავს, რომ თქვენ მხოლოდ უნდა აღწეროთ ის, რისი ჩვენებაც გსურთ და React ავტომატურად ამუშავებს განახლებებსა და რენდერირებას.
* **ეფექტური:** React იყენებს ვირტუალურ DOM-ს და ჭკვიან diff ალგორითმს, რომ ეფექტურად განაახლოს მომხმარებლის ინტერფეისი და შეამციროს არასაჭირო რენდერირება.
* **უზარმაზარი საზოგადოების მხარდაჭერა:** React-ს აქვს უზარმაზარი საზოგადოება და მდიდარი ეკოსისტემა, სადაც შეგიძლიათ იპოვოთ უამრავი სახელმძღვანელო, ბიბლიოთეკა და ინსტრუმენტი, რომელიც დაგეხმარებათ განვითარებაში.
* **პლატფორმათაშორისი შესაძლებლობები:** React Native საშუალებას გაძლევთ გამოიყენოთ React მშობლიური მობილური აპლიკაციების (iOS და Android) შესაქმნელად.

## მოსამზადებელი სამუშაოები

სანამ დაიწყებთ, დარწმუნდით, რომ თქვენს კომპიუტერზე დაინსტალირებული გაქვთ შემდეგი ინსტრუმენტები:

* **Node.js:** Node.js არის JavaScript-ის გაშვების გარემო, რომელიც გამოიყენება React-ის განვითარების ინსტრუმენტების გასაშვებად. შეგიძლიათ ჩამოტვირთოთ და დააინსტალიროთ [https://nodejs.org/](https://nodejs.org/)-დან.
* **npm ან yarn:** npm (Node Package Manager) და yarn არის JavaScript პაკეტების მენეჯერები, რომლებიც გამოიყენება React-ის დამოკიდებულებების დასაყენებლად და სამართავად. როგორც წესი, npm ინსტალირდება Node.js-თან ერთად. yarn-ის ინსტალაცია შესაძლებელია [https://yarnpkg.com/](https://yarnpkg.com/)-დან.

## შექმენით თქვენი პირველი React აპლიკაცია

ჩვენ გამოვიყენებთ `create-react-app`-ს React პროექტის სწრაფად შესაქმნელად.

1. **შექმნა npm-ის გამოყენებით:**

   ```bash
   npx create-react-app my-first-react-app
   cd my-first-react-app
   npm start
  1. შექმნა yarn-ის გამოყენებით:

    yarn create react-app my-first-react-app
    cd my-first-react-app
    yarn start
    

ზემოთ მოცემული ბრძანებების შესრულების შემდეგ, create-react-app ავტომატურად შექმნის დირექტორიას სახელად my-first-react-app და ამ დირექტორიაში დაიწყებს React პროექტს. npm start ან yarn start ბრძანება გაუშვებს განვითარების სერვერს და თქვენ შეგიძლიათ ეწვიოთ http://localhost:3000-ს ბრაუზერში თქვენი React აპლიკაციის სანახავად.

დირექტორიის სტრუქტურა

create-react-app-ის მიერ შექმნილი პროექტის დირექტორიის სტრუქტურა შემდეგია:

my-first-react-app/
├── node_modules/         # პროექტის დამოკიდებული ბიბლიოთეკები
├── public/               # სტატიკური რესურსები (მაგალითად, HTML ფაილები)
│   ├── index.html        # აპლიკაციის საწყისი HTML ფაილი
│   └── ...
├── src/                  # React-ის საწყისი კოდი
│   ├── App.css           # App კომპონენტის CSS სტილები
│   ├── App.js            # App კომპონენტი
│   ├── App.test.js       # App კომპონენტის ტესტის ფაილი
│   ├── index.css         # გლობალური CSS სტილები
│   ├── index.js          # აპლიკაციის საწყისი JavaScript ფაილი
│   ├── logo.svg          # React-ის ლოგო
│   └── ...
├── .gitignore            # Git-ის იგნორირებული ფაილები
├── package.json          # პროექტის მეტამონაცემები და დამოკიდებულებები
├── README.md             # პროექტის აღწერილობა
└── yarn.lock             # დამოკიდებულებების ვერსიების ჩამკეტი ფაილი (თუ გამოიყენება yarn)
```

## React-ის კომპონენტების გაგება

React-ის აპლიკაცია შედგება კომპონენტებისგან. კომპონენტები არის დამოუკიდებელი, მრავალჯერადი გამოყენების კოდის ბლოკები, რომლებიც გამოიყენება მომხმარებლის ინტერფეისის კონკრეტული ნაწილის რენდერისთვის.

`src/App.js` ფაილში შეგიძლიათ იხილოთ ნაგულისხმევი `App` კომპონენტი:

```javascript
import React from 'react';
import logo from './logo.svg';
import './App.css';

function App() {
  return (
    
      
        
        
          Edit `src/App.js` and save to reload.
        

        [
          Learn React
        ](https://reactjs.org)
      
    
  );
}

export default App;
```

**კოდის ახსნა:**

*   `import React from 'react';` - React-ის ბიბლიოთეკის იმპორტი.
*   `function App() { ... }` - `App` სახელწოდების ფუნქციური კომპონენტის განსაზღვრა.
*   `return ( ... )` - აბრუნებს JSX გამოსახულებას, რომელიც აღწერს, თუ რა უნდა გამოისახოს კომპონენტმა.
*   `export default App;` - `App` კომპონენტის ექსპორტი, რათა მისი გამოყენება სხვა ფაილებში იყოს შესაძლებელი.

**JSX (JavaScript XML)**

JSX არის JavaScript-ის სინტაქსური გაფართოება, რომელიც საშუალებას გაძლევთ JavaScript-ის კოდში დაწეროთ HTML-ის მსგავსი კოდი. ზემოთ მოცემულ მაგალითში, `...` არის JSX გამოსახულება. JSX კოდი გარდაიქმნება Babel-ის მიერ სტანდარტულ JavaScript კოდად, რათა ბრაუზერმა შეძლოს მისი გაგება.

## App კომპონენტის შეცვლა

მოდით შევცვალოთ `App` კომპონენტი და შევქმნათ მარტივი მრიცხველი.

```javascript
import React, { useState } from 'react';
import './App.css';

function App() {
  const [count, setCount] = useState(0);
``` const increment = () => {
    setCount(count + 1);
  };

  const decrement = () => {
    setCount(count - 1);
  };

  return (
    
      

# მრიცხველი

      მიმდინარე რაოდენობა: {count}

      +
      -
    
  );
}

export default App;
```

**ცვლილებების განმარტება:**

* `import React, { useState } from 'react';`  `useState` Hook-ის იმპორტი. `useState` არის React Hook, რომელიც გამოიყენება ფუნქციურ კომპონენტებში მდგომარეობის დასამატებლად.
* `const [count, setCount] = useState(0);`  `useState` Hook-ის გამოყენებით იქმნება მდგომარეობის ცვლადი სახელად `count` და ინიციალიზდება `0`-ით. `setCount` არის ფუნქცია, რომელიც გამოიყენება `count` მდგომარეობის განახლებისთვის.
* `const increment = () => { setCount(count + 1); };` განსაზღვრავს ფუნქციას სახელად `increment`, რომელიც გამოიყენება `count` მდგომარეობის 1-ით გასაზრდელად.
* `const decrement = () => { setCount(count - 1); };` განსაზღვრავს ფუნქციას სახელად `decrement`, რომელიც გამოიყენება `count` მდგომარეობის 1-ით შესამცირებლად.
* `მიმდინარე რაოდენობა: {count}
`  გვერდზე აჩვენებს `count` მდგომარეობის მნიშვნელობას.  `{count}` არის JSX გამოხატულება, რომელიც გამოიყენება JavaScript ცვლადების JSX კოდში ჩასასმელად.
* `+` და `-` ქმნის ორ ღილაკს, რომლებიც შესაბამისად აკავშირებს `increment` და `decrement` ფუნქციებს.  `onClick` არის მოვლენის დამმუშავებელი, რომელიც გამოიყენება მითითებული ფუნქციის შესასრულებლად ღილაკზე დაჭერისას.

`src/App.js` ფაილის შენახვის შემდეგ, ბრაუზერი ავტომატურად განახლდება და თქვენ იხილავთ მარტივ მრიცხველს. "+" ღილაკზე დაჭერით გაიზრდება რაოდენობა, ხოლო "-" ღილაკზე დაჭერით შემცირდება რაოდენობა.

## CSS სტილის გამოყენება

თქვენ შეგიძლიათ გამოიყენოთ CSS თქვენი React აპლიკაციის გასალამაზებლად.  `create-react-app` მხარს უჭერს CSS Modules-ს და ჩვეულებრივ CSS ფაილებს.

**CSS Modules-ის გამოყენება:**

CSS Modules საშუალებას გაძლევთ შექმნათ დამოუკიდებელი CSS სტილები თითოეული კომპონენტისთვის, თავიდან აიცილოთ სტილის კონფლიქტი.  იმისათვის, რომ გამოიყენოთ CSS Modules კომპონენტში, თქვენ უნდა შექმნათ ფაილი, რომელიც მთავრდება `.module.css`-ით.

მაგალითად, შექმენით ფაილი სახელად `App.module.css` და დაამატეთ მასში შემდეგი CSS სტილები:

```css
.App {
  text-align: center;
}

.App h1 {
  color: blue;
}

.App button {
  padding: 10px 20px;
  font-size: 16px;
  background-color: lightgreen;
  border: none;
  cursor: pointer;
}
```

შემდეგ `src/App.js` ფაილში შემოიტანეთ CSS Modules:

```javascript
import React, { useState } from 'react';
import styles from './App.module.css'; // CSS Modules-ის იმპორტი

function App() {
  const [count, setCount] = useState(0);
 const increment = () => {
    setCount(count + 1);
  };

  const decrement = () => {
    setCount(count - 1);
  };

  return (
     {/* გამოიყენეთ styles ობიექტი CSS კლასების მოსახსენიებლად */}
      

# მრიცხველი

      მიმდინარე რაოდენობა: {count}

      +
      -
    
  );
}

export default App;
```

**ჩვეულებრივი CSS ფაილის გამოყენება:**

თქვენ ასევე შეგიძლიათ გამოიყენოთ ჩვეულებრივი CSS ფაილი გლობალური სტილის დასადგენად. `src/index.css` ფაილში შეგიძლიათ განსაზღვროთ გლობალური სტილები.

მაგალითად, დაამატეთ შემდეგი CSS სტილი:

```css
body {
  font-family: sans-serif;
}
```

ეს სტილი გამოყენებული იქნება მთელი აპლიკაციის `body` ელემენტზე.

## შემდეგი ნაბიჯები

გილოცავთ, თქვენ დაასრულეთ თქვენი პირველი React აპლიკაცია! შემდეგ შეგიძლიათ ისწავლოთ მეტი React-ის შესახებ, მაგალითად:

* **კომპონენტების კომუნიკაცია:** ისწავლეთ როგორ დაამყაროთ კომუნიკაცია სხვადასხვა კომპონენტს შორის.
* **ფორმების დამუშავება:** ისწავლეთ როგორ შექმნათ და დაამუშავოთ ფორმები.
* **როუტინგი:** ისწავლეთ როგორ შექმნათ მრავალგვერდიანი აპლიკაციები React Router-ის გამოყენებით.
* **Redux ან Context API:** ისწავლეთ როგორ მართოთ აპლიკაციის მდგომარეობა.
* **Hooks:** გაიღრმავეთ ცოდნა React Hooks-ის შესახებ, როგორიცაა `useEffect`, `useContext` და ა.შ.

გახსოვდეთ, React არის ტექნოლოგია, რომელიც მოითხოვს მუდმივ პრაქტიკასა და სწავლას. გისურვებთ სასიამოვნო სწავლას!
Published in Technology

You Might Also Like

როგორ გამოვიყენოთ ღრუბლოვანი კომპიუტერული ტექნოლოგიები: შექმენით თქვენი პირველი ღრუბლოვანი ინფრასტრუქტურის სრული სახელმძღვანელოTechnology

როგორ გამოვიყენოთ ღრუბლოვანი კომპიუტერული ტექნოლოგიები: შექმენით თქვენი პირველი ღრუბლოვანი ინფრასტრუქტურის სრული სახელმძღვანელო

[[HTMLPLACEHOLDER0]] [[HTMLPLACEHOLDER1]] [[HTMLPLACEHOLDER2]] [[HTMLPLACEHOLDER3]] [[HTMLPLACEHOLDER4]] [[HTMLPLACEHOLD...

გაფრთხილება! Claude Code-ის მამა პირდაპირ ამბობს: 1 თვის შემდეგ Plan Mode-ის გამოყენება აღარ იქნება საჭირო, პროგრამული ინჟინრების ტიტული გაქრებაTechnology

გაფრთხილება! Claude Code-ის მამა პირდაპირ ამბობს: 1 თვის შემდეგ Plan Mode-ის გამოყენება აღარ იქნება საჭირო, პროგრამული ინჟინრების ტიტული გაქრება

გაფრთხილება! Claude Code-ის მამა პირდაპირ ამბობს: 1 თვის შემდეგ Plan Mode-ის გამოყენება აღარ იქნება საჭირო, პროგრამული ი...

2026 წლის 10 საუკეთესო ღრმა სწავლების რესურსებიTechnology

2026 წლის 10 საუკეთესო ღრმა სწავლების რესურსები

2026 წლის 10 საუკეთესო ღრმა სწავლების რესურსები ღრმა სწავლების სწრაფი განვითარებით სხვადასხვა სფეროში, სულ უფრო მეტი სას...

2026 წლის 10 საუკეთესო AI აგენტი: ძირითადი მახასიათებლების ანალიზიTechnology

2026 წლის 10 საუკეთესო AI აგენტი: ძირითადი მახასიათებლების ანალიზი

2026 წლის 10 საუკეთესო AI აგენტი: ძირითადი მახასიათებლების ანალიზი შესავალი ხელოვნური ინტელიგენციის სწრაფი განვითარების ...

2026 წლის 10 საუკეთესო AI ინსტრუმენტი: ხელოვნური ინტელექტის რეალური პოტენციალის გათავისუფლებაTechnology

2026 წლის 10 საუკეთესო AI ინსტრუმენტი: ხელოვნური ინტელექტის რეალური პოტენციალის გათავისუფლება

2026 წლის 10 საუკეთესო AI ინსტრუმენტი: ხელოვნური ინტელექტის რეალური პოტენციალის გათავისუფლება დღეს ტექნოლოგიის სწრაფი გა...

2026 წლის საუკეთესო 10 AWS ინსტრუმენტი და რესურსიTechnology

2026 წლის საუკეთესო 10 AWS ინსტრუმენტი და რესურსი

2026 წლის საუკეთესო 10 AWS ინსტრუმენტი და რესურსი ბრიტანული სწრაფად განვითარებადი ღრუბლოვანი კომპიუტინგის სფეროში, Amazo...