در حال بارگذاری...

مرجع API React

مرجع API React یک راهنمای جامع برای تمامی توابع، Hooks و متدهای ری‌اکت (React) است که توسعه‌دهندگان را قادر می‌سازد تا اپلیکیشن‌های مدرن، مقیاس‌پذیر و SPA را با بهترین شیوه‌ها بسازند. این مرجع برای مدیریت components، state management، جریان داده‌ها و lifecycle کامپوننت‌ها اهمیت دارد و به توسعه‌دهندگان کمک می‌کند تا اپلیکیشن‌های قابل نگهداری و بهینه تولید کنند.
استفاده از مرجع API React در توسعه ری‌اکت ضروری است زیرا این امکان را می‌دهد که خطاهای رایجی مانند prop drilling، re-renderهای غیرضروری یا تغییر مستقیم state را جلوگیری کرد. توسعه‌دهندگان با استفاده از Hooks مانند useState، useEffect و useReducer می‌توانند state محلی را مدیریت کرده و side-effectها را کنترل کنند. در این مرجع نحوه ایجاد reusable components، مدیریت صحیح lifecycle و ادغام ری‌اکت با SPAهای مدرن آموزش داده شده است. مطالعه این مرجع باعث می‌شود توسعه‌دهندگان توانایی ساخت UI تعاملی، بهینه‌سازی عملکرد و پیاده‌سازی best practiceهای پیشرفته را در پروژه‌های واقعی داشته باشند.

مثال پایه

jsx
JSX Code
import React, { useState } from 'react';

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

const increment = () => setCount(prev => prev + 1);
const decrement = () => setCount(prev => prev - 1);

return ( <div> <h1>Counter: {count}</h1> <button onClick={increment}>افزایش</button> <button onClick={decrement}>کاهش</button> </div>
);
}

export default Counter;

در مثال Counter بالا، useState برای مدیریت state محلی count استفاده شده است. تابع setCount با استفاده از مقدار قبلی state، state جدید را تولید می‌کند که باعث جلوگیری از mutation مستقیم می‌شود. توابع increment و decrement به رویدادهای onClick متصل هستند تا تعامل کاربر به صورت مستقیم state را تغییر دهد.
این مثال نشان می‌دهد که چگونه ری‌اکت هنگام تغییر state، کامپوننت را مجدداً render می‌کند تا UI همواره با داده‌ها همگام باشد. همچنین این روش، بهترین شیوه‌های مدیریت state محلی، جلوگیری از prop drilling و ایجاد کامپوننت‌های reusable را به تصویر می‌کشد. برای مبتدیان، این مثال کمک می‌کند تا تفاوت بین DOM manipulation سنتی و مدیریت خودکار re-renderها توسط ری‌اکت را درک کنند.

مثال کاربردی

jsx
JSX Code
import React, { useState, useEffect } from 'react';

function TodoList() {
const [tasks, setTasks] = useState([]);
const [input, setInput] = useState('');

const addTask = () => {
if (input.trim() !== '') {
setTasks(prev => [...prev, input]);
setInput('');
}
};

useEffect(() => {
console.log('Updated tasks:', tasks);
}, [tasks]);

return ( <div> <h2>Todo List</h2>
<input
type="text"
value={input}
onChange={e => setInput(e.target.value)}
placeholder="افزودن وظیفه جدید"
/> <button onClick={addTask}>افزودن</button> <ul>
{tasks.map((task, index) => ( <li key={index}>{task}</li>
))} </ul> </div>
);
}

export default TodoList;

Advanced ری‌اکت (React) Implementation

jsx
JSX Code
import React, { useState, useEffect, useCallback } from 'react';

function OptimizedTodoList() {
const [tasks, setTasks] = useState([]);
const [input, setInput] = useState('');

const addTask = useCallback(() => {
if (input.trim() !== '') {
setTasks(prev => [...prev, input]);
setInput('');
}
}, [input]);

useEffect(() => {
console.log('Optimized tasks updated:', tasks);
}, [tasks]);

return ( <div> <h2>Optimized Todo List</h2>
<input
type="text"
value={input}
onChange={e => setInput(e.target.value)}
placeholder="افزودن وظیفه جدید"
/> <button onClick={addTask}>افزودن</button> <ul>
{tasks.map((task, index) => ( <li key={index}>{task}</li>
))} </ul> </div>
);
}

export default OptimizedTodoList;

مثال OptimizedTodoList از useCallback برای جلوگیری از ایجاد توابع غیرضروری در هر render استفاده می‌کند که به کاهش re-renderهای غیرضروری کمک می‌کند. همچنین useEffect تغییرات tasks را مانیتور می‌کند. بهترین شیوه‌ها شامل ایجاد کامپوننت‌های modular و reusable، استفاده صحیح از Hooks، جلوگیری از prop drilling با Context API و بهینه‌سازی عملکرد است. از اشتباهات رایج می‌توان به تغییر مستقیم state، re-renderهای مکرر و استفاده نادرست از nested props اشاره کرد. ابزارهای مانند React DevTools برای debugging و مانیتورینگ performance توصیه می‌شوند و امنیت از طریق استفاده هوشمندانه از dangerouslySetInnerHTML و keys یکتا تضمین می‌شود.

📊 مرجع کامل

ری‌اکت (React) Element/Method Description Syntax Example Notes
useState مدیریت state کامپوننت const [state, setState] = useState(initial) const [count, setCount] = useState(0); برای state ساده مناسب
useEffect مدیریت side-effect و lifecycle useEffect(() => {}, [dependencies]); useEffect(() => { console.log(count); }, [count]); پس از render اجرا می‌شود
useContext دریافت مقدار context const value = useContext(Context); const theme = useContext(ThemeContext); جلوگیری از prop drilling
useReducer مدیریت state پیچیده const [state, dispatch] = useReducer(reducer, initial) const [state, dispatch] = useReducer(todoReducer, []); برای منطق پیچیده
React.memo بهینه‌سازی re-render export default React.memo(Component); export default React.memo(TaskItem); فقط در صورت تغییر props re-render می‌شود
useCallback memorize توابع const memoizedFn = useCallback(fn, [dependencies]); const addTask = useCallback(() => {}, [tasks]); بهینه‌سازی props کامپوننت‌های فرزند
useRef ساخت references const ref = useRef(initial); const inputRef = useRef(); دسترسی به DOM یا مقادیر mutable
useLayoutEffect اثر پیش از render useLayoutEffect(() => {}, [dependencies]); useLayoutEffect(() => {}, []); سینکرون با DOM
createContext ایجاد context const Context = createContext(defaultValue); const ThemeContext = createContext('light'); برای state جهانی
forwardRef انتقال ref به فرزند const Component = forwardRef((props, ref) => {}); const Input = forwardRef((props, ref) => <input ref={ref} />); دسترسی به ref فرزند

📊 Complete ری‌اکت (React) Properties Reference

Property Values Default Description ری‌اکت (React) Support
className string '' انتساب کلاس CSS All versions
key string null شناسه یکتا برای list items All versions
ref object null دسترسی به DOM یا component 16.3+
children node null المان‌های فرزند کامپوننت All versions
style object {} استایل inline All versions
dangerouslySetInnerHTML object null درج HTML خام All versions
defaultValue string '' مقدار پیش‌فرض فرم All versions
defaultChecked boolean false حالت پیش‌فرض checkbox All versions
onClick function null رویداد کلیک All versions
onChange function null رویداد تغییر input All versions

پس از یادگیری مرجع API React، توسعه‌دهندگان مهارت‌های مدیریت state، جریان داده و lifecycle را کسب می‌کنند. مراحل بعدی شامل کاستوم هوک‌ها، کتابخانه‌های مدیریت state پیشرفته (Redux، Zustand) و بهینه‌سازی SPAهای بزرگ است. مطالعه مستندات رسمی و بهترین شیوه‌های جامعه، پیاده‌سازی React API در پروژه‌های واقعی را تضمین می‌کند.

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

4
سوالات
🎯
70%
برای قبولی
♾️
زمان
🔄
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود