React چیست؟ آموزش کامل و جامع React

React چیست؟

React یک کتابخانه JavaScript متن‌باز است که توسط فیسبوک (متا) برای ساخت رابط‌های کاربری تعاملی و تک‌صفحه‌ای (SPA) توسعه داده شده است. این کتابخانه با استفاده از مفهوم کامپوننت‌ها، توسعه رابط‌های کاربری پیچیده را ساده‌تر می‌کند.

React با Virtual DOM و سیستم اجزای مبتنی بر کامپوننت، یکی از محبوب‌ترین کتابخانه‌های فرانت‌اند در دنیا است.
مثال ساده React
import React from 'react';

function App() {
  return (
    <div>
      <h1>سلام دنیا!</h1>
      <p>این اولین کامپوننت React من است.</p>
    </div>
  );
}

تاریخچه React

React در سال ۲۰۱۱ توسط جردن والکه در فیسبوک ایجاد شد و در سال ۲۰۱۳ به صورت متن‌باز منتشر شد. از آن زمان تاکنون، این کتابخانه تکامل یافته و ویژگی‌های جدیدی مانند Hooks و Concurrent Mode به آن اضافه شده است.

نسخه ۱۸ React در مارس ۲۰۲۲ منتشر شد و قابلیت‌های جدیدی مانند Automatic Batching و Transitions را معرفی کرد.

ساختار پایه React

یک پروژه React معمولاً از ساختار زیر تشکیل شده است:

ساختار پایه پروژه React
// index.js
import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);
برای شروع یک پروژه React می‌توانید از Create React App یا Vite استفاده کنید که ساختار اولیه پروژه را برای شما ایجاد می‌کنند.

کامپوننت‌ها در React

کامپوننت‌ها بلوک‌های سازنده اصلی در React هستند. دو نوع اصلی کامپوننت وجود دارد: کامپوننت‌های تابعی و کلاس.

مثال کامپوننت تابعی
function Welcome({ name }) {
  return <h1>سلام، {name}</h1>;
}

// استفاده از کامپوننت
<Welcome name="علی" />

Hook ها در React

Hook‌ها به شما امکان می‌دهند از state و سایر ویژگی‌های React در کامپوننت‌های تابعی استفاده کنید.

مثال استفاده از Hook‌ها
import React, { useState, useEffect } from 'react';

function Example() {
  const [count, setCount] = useState(0);

  useEffect(() => {
    document.title = `شما ${count} بار کلیک کرده‌اید`;
  }, [count]);

  return (
    <div>
      <p>شما {count} بار کلیک کرده‌اید</p>
      <button onClick={() => setCount(count + 1)}>
        کلیک کنید
      </button>
    </div>
  );
}

Props و State

Props و State دو مفهوم اساسی در React هستند که برای مدیریت داده‌ها در کامپوننت‌ها استفاده می‌شوند.

مثال Props و State
function Counter({ initialCount }) {
  const [count, setCount] = useState(initialCount);
  
  return (
    <div>
      <p>شمارنده: {count}</p>
      <button onClick={() => setCount(count + 1)}>افزایش</button>
    </div>
  );
}

چرخه حیات کامپوننت‌ها

چرخه حیات کامپوننت‌ها در React شامل سه فاز اصلی است: نصب (Mounting)، به‌روزرسانی (Updating) و حذف (Unmounting).

مثال useEffect برای مدیریت چرخه حیات
function LifecycleExample() {
  useEffect(() => {
    console.log('کامپوننت نصب شد');
    
    return () => {
      console.log('کامپوننت حذف شد');
    };
  }, []);

مسیریابی در React

React Router کتابخانه استاندارد برای مدیریت مسیریابی در اپلیکیشن‌های React است.

مثال React Router
import { BrowserRouter, Routes, Route } from 'react-router-dom';

function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
        <Route path="/contact" element={<Contact />} />
      </Routes>
    </BrowserRouter>
  );
}

مدیریت state

برای مدیریت state در اپلیکیشن‌های بزرگ، می‌توانید از Redux یا Context API استفاده کنید.

مثال Context API
const ThemeContext = React.createContext('light');

function App() {
  return (
    <ThemeContext.Provider value="dark">
      <ThemedButton />
    </ThemeContext.Provider>
  );
}

بهترین شیوه‌های کدنویسی React

رعایت اصول و بهترین شیوه‌های کدنویسی React به بهبود کیفیت و نگهداری کد کمک می‌کند:

۱. استفاده از کامپوننت‌های کوچک و قابل استفاده مجدد

کامپوننت‌ها را طوری طراحی کنید که قابل استفاده مجدد باشند.

۲. مدیریت صحیح state

از state فقط برای داده‌های متغیر استفاده کنید.

۳. استفاده از PropTypes

برای اعتبارسنجی prop‌ها از PropTypes استفاده کنید.

بهینه‌سازی عملکرد

بهینه‌سازی عملکرد در React شامل تکنیک‌های مختلفی است که به بهبود سرعت و کارایی برنامه کمک می‌کنند.

مثال استفاده از React.memo
const MyComponent = React.memo(function MyComponent(props) {
  /* رندر کامپوننت */
  return (
    <div>
      <h2>{props.title}</h2>
      <p>{props.content}</p>
    </div>
  );
});
استفاده از React.memo، useMemo و useCallback می‌تواند به بهبود عملکرد برنامه کمک کند، اما باید با دقت و در موارد ضروری استفاده شوند.

ابزارهای مفید برای کار با React

برای توسعه بهتر با React، ابزارهای مفید زیر را در نظر بگیرید:

ابزارهای توسعه

– Create React App
– Vite
– React Developer Tools
– ESLint

کتابخانه‌های مفید

– Redux برای مدیریت state
– React Router برای مسیریابی
– Axios برای درخواست‌های HTTP
– Material-UI و Chakra UI برای رابط کاربری

استفاده از این ابزارها می‌تواند سرعت توسعه را افزایش داده و کیفیت کد را بهبود بخشد.

کلمات کلیدی:

React React.js فریم‌ورک جاوا اسکریپت آموزش React کامپوننت React هوک‌های React برنامه‌نویسی فرانت‌اند توسعه وب

جمع‌بندی:

در این مقاله به طور جامع با React و مفاهیم اصلی آن آشنا شدیم. از مفاهیم پایه مانند کامپوننت‌ها و props گرفته تا مفاهیم پیشرفته‌تر مانند Hooks و مدیریت state را بررسی کردیم. React با ارائه یک رویکرد component-based و استفاده از Virtual DOM، روش موثری برای ساخت رابط‌های کاربری تعاملی و مدرن فراهم می‌کند. برای تسلط بیشتر بر React، پیشنهاد می‌کنیم پروژه‌های عملی انجام دهید و مقالات مرتبط را مطالعه کنید. همچنین به روز ماندن با آخرین ویژگی‌ها و بهترین شیوه‌های React می‌تواند به شما در توسعه برنامه‌های بهتر کمک کند.

Leave a Reply

Your email address will not be published. Required fields are marked *