</>{ }=>( )
Green Data

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

آموزش برنامه‌نویسی و طراحی وب به زبان فارسی

logo
  • صفحه نخست
  • ویراشگر کد
  • سفارش طراحی سایت
  • تماس با ما
</>{ }=>( )
Green Data

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

آموزش برنامه‌نویسی و طراحی وب به زبان فارسی

logo

آموزش کدنویسی با بزرگ‌ترین وبسایت آموزشی توسعه‌ی وب؛ یادگیری گام‌به‌گام، مقالات کاربردی و تمرین‌های عملی برای علاقه‌مندان به برنامه‌نویسی.

لینک‌های سریع

  • صفحه نخست
  • ویراشگر کد
  • سفارش طراحی سایت
  • تماس با ما
  • ورود
  • ثبت نام

دسته‌بندی‌ها

  • HTML
  • CSS
  • جاوااسکریپت
  • ری‌اکت
  • Nextjs

© 2026 گرین‌دیتا. تمامی حقوق محفوظ است.

ساخته‌شده با ❤ برای علاقه‌مندان به برنامه‌نویسی

آزمون جامع React.js - Green Data

ری‌اکت

آشنایی با React و مدل ذهنی آن
  1. React چیست و چرا React
  2. معماری مبتنی بر کامپوننت (Component-Based Architecture)
  3. JSX و نحوه نگارش آن
  4. Expressionها در JSX و Fragment
  5. Function Components و Props
  6. Children در کامپوننت‌ها
  7. Rendering و Conditional Rendering
  8. نمایش لیست‌ها و مفهوم Key
  9. آزمون فصل آشنایی با React
طراحی کامپوننت (Component Design)
  1. تفکر کامپوننتی (Component Thinking)
  2. ترکیب کامپوننت‌ها (Component Composition)
  3. مسئولیت‌های کامپوننت و طراحی Props
  4. کامپوننت‌های قابل استفاده مجدد (Reusable Components)
  5. Controlled در برابر Uncontrolled Components
  6. Coupling و Separation of Concerns
  7. الگوهای طراحی کامپوننت
  8. آزمون فصل
State در React
  1. State چیست و useState
  2. به‌روزرسانی State و Functional Updates
  3. State Batching
  4. Immutability و به‌روزرسانی Objects و Arrays
  5. Derived State
  6. State Colocation
  7. Lifting State Up و اشتراک‌گذاری State
  8. آزمون فصل
رویدادها و فرم‌ها (Events & Forms)
  1. مدیریت رویدادها در React
  2. عناصر فرم و Controlled Components
  3. Uncontrolled Components
  4. مدیریت State فرم و Validation
  5. مدیریت Submit
  6. الگوهای رایج مدیریت فرم
  7. آزمون فصل
Hooks: مبانی و قوانین
  1. Hookها چه هستند و چرا وجود دارند
  2. Rules of Hooks
  3. مروری بر Hookهای اصلی React
  4. نحوه تفکر صحیح درباره Hooks
  5. آزمون فصل
Effects و useEffect
  1. Effect و Dependency Array چیست
  2. Cleanup در Effects
  3. Synchronizing with External Systems
  4. چرخه اجرای Effect
  5. Race Condition و Stale Closure
  6. حلقه‌های بی‌نهایت و مشکلات Dependencyها
  7. چه زمانی نباید از Effect استفاده کرد
  8. آزمون فصل
Refs
  1. useRef و مقادیر Mutable
  2. Ref و عناصر DOM
  3. Ref در برابر State
  4. Callback Ref
  5. Ref به‌عنوان Prop در React مدرن
  6. use Imperative Handle
  7. الگوهای رایج استفاده از Ref
  8. آزمون فصل
Context
  1. Context چیست و createContext
  2. Provider و useContext
  3. Context و Re-render
  4. Context در برابر Prop Drilling
  5. چه زمانی Context مناسب است
  6. طراحی Context در برنامه‌های بزرگ
  7. آزمون فصل
Reducer و useReducer
  1. مفهوم Reducer و useReducer
  2. Actions و State Transitions
  3. طراحی Reducer
  4. useReducer در برابر useState
  5. ترکیب Reducer و Context
  6. طراحی State با Reducer
  7. آزمون فصل
Custom Hooks
  1. Custom Hook چیست
  2. استخراج Logic قابل استفاده مجدد
  3. طراحی API مناسب برای Custom Hook
  4. Composition در Custom Hooks
  5. مدیریت State و Effect در Custom Hooks
  6. آزمون فصل
مدل رندرینگ React
  1. Render، Re-render و Commit
  2. Render Phase و Commit Phase
  3. Component Tree
  4. Reconciliation و Identity
  5. نقش Keyها در Rendering
  6. چه چیزی باعث Re-render می‌شود
  7. تحلیل جریان Rendering
  8. آزمون فصل
حفظ و بازنشانی State
  1. هویت کامپوننت و Position در Tree
  2. Keyها و Identity
  3. State Preservation
  4. State Reset
  5. Conditional Rendering و State
  6. تغییر ساختار Tree و اثر آن بر State
  7. آزمون فصل
Performance و بهینه‌سازی
  1. Re-render و Performance
  2. React.memo
  3. Referential Equality
  4. useMemo
  5. useCallback
  6. Memoization و Trade-offهای آن
  7. Derived Data و حذف محاسبات غیرضروری
  8. Profiling با React DevTools
  9. آزمون فصل
دریافت داده و ارتباط با سرور
  1. Data Fetching
  2. Loading، Error و Empty States
  3. چرخه حیات Request
  4. Race Conditions
  5. Abort و Cancellation
  6. Caching
  7. Server State در برابر Client State
  8. الگوهای Data Fetching
  9. آزمون فصل
مسیریابی (Routing)
  1. Routing چیست و Client-Side Routing
  2. Routes و Nested Routes
  3. Route Parameters
  4. Query Parameters
  5. Navigation و Links
  6. Protected Routes
  7. آزمون فصل
مدیریت State در مقیاس بزرگ
  1. Local State، Lifted State و Global State
  2. Client State در برابر Server State
  3. چه زمانی به State Management نیاز داریم
  4. Trade-offهای State Management
  5. معرفی ابزارهای رایج اکوسیستم React
  6. انتخاب ابزار مناسب بر اساس مسئله
  7. آزمون فصل
مدیریت خطا
  1. Runtime Errors
  2. Error Boundary
  3. Fallback UI
  4. خطاهای Async
  5. مدیریت خطا در مرزهای مختلف برنامه
  6. آزمون فصل
دسترس‌پذیری (Accessibility)
  1. Semantic HTML در React
  2. Label و Form Accessibility
  3. Keyboard Accessibility
  4. مدیریت Focus
  5. ARIA
  6. طراحی کامپوننت‌های قابل دسترس
  7. آزمون فصل
تست در React
  1. چرا تست
  2. انواع تست در برنامه‌های React
  3. User-Centric Testing
  4. تست تعامل کاربر
  5. Mocking
  6. تست UIهای Async
  7. تست کامپوننت‌ها و رفتار کاربر
  8. آزمون فصل
Code Splitting و Lazy Loading
  1. Dynamic Import
  2. Lazy Loading
  3. Code Splitting
  4. Route-based Splitting
  5. ارتباط Code Splitting و Suspense
  6. آزمون فصل
Suspense
  1. Suspense چیست
  2. Suspense Boundary
  3. Fallback UI
  4. Suspense و Lazy Loading
  5. کاربردهای مدرن Suspense
  6. Suspense و Data Loading
  7. محدودیت‌ها و مدل ذهنی Suspense
  8. آزمون فصل
Concurrent Rendering و Scheduling
  1. Concurrent Rendering چیست
  2. Transition چیست
  3. startTransition
  4. useTransition
  5. useDeferredValue
  6. Urgent و Non-Urgent Updates
  7. آزمون فصل
APIهای مدرن React
  1. useId
  2. useSyncExternalStore
  3. useInsertionEffect
  4. useImperativeHandle
  5. Actions
  6. useActionState
  7. useOptimistic
  8. use
  9. ViewTransition
  10. Fragment Refs
  11. آزمون فصل
Server Components و معماری Server/Client
  1. Server Components چیست
  2. Client Components چیست
  3. مرز Server/Client
  4. Serialization و محدودیت‌های انتقال داده
  5. تعامل‌پذیری در سمت Client
  6. Data Fetching در معماری Server/Client
  7. Streaming
  8. نقش Frameworkها در Server Components
  9. آزمون فصل
اکوسیستم React
  1. Frameworkها، Build Toolها و Bundlerها
  2. Routing در اکوسیستم React
  3. Data Fetching و Server State
  4. Styling و UI Libraries
  5. State Management
  6. Testing
  7. Build و Deployment
  8. React Library در برابر Framework
  9. انتخاب ابزار مناسب بر اساس نیاز
  10. آزمون فصل
آزمون جامع پایان دوره React.js
  1. آزمون جامع React.js

ری‌اکت / آزمون جامع پایان دوره React.js

آزمون جامع React.js

تمرین‌ها

تمرین 1

تفاوت اصلی رویکرد توصیفی React با برنامه‌نویسی دستوری سنتی در ساخت رابط کاربری چیست؟

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

تمرین 2

خروجی رندر کد زیر چیست؟
function Cart({ count }) {
  return <div>{count && <p>{count} کالا</p>}</div>;
}

// استفاده: <Cart count={0} />

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

تمرین 3

چرا استفاده از index آرایه به‌عنوان key، در لیستی که ترتیب یا تعدادش تغییر می‌کند، مشکل‌ساز است؟

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

تمرین 4

پس از یک کلیک، مقدار نهایی count در کد زیر چیست؟
const [count, setCount] = useState(5);

function handleClick() {
  setCount(count + 1);
  setCount(count + 1);
  setCount((prev) => prev + 1);
}

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

تمرین 5

چرا ممکن است رابط کاربری پس از کلیک در کد زیر به‌روز نشود؟
const [user, setUser] = useState({ name: "سارا", age: 25 });

function handleBirthday() {
  user.age = user.age + 1;
  setUser(user);
}

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

تمرین 6

کدام مورد باید به‌جای یک State جداگانه، مستقیماً در بدنه کامپوننت محاسبه شود؟

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

تمرین 7

چرا منطق ارسال فرم معمولاً روی onSubmit خود فرم نوشته می‌شود، نه onClick دکمه؟

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

تمرین 8

کد زیر چه مشکلی دارد؟
function Profile({ isLoggedIn }) {
  if (isLoggedIn) {
    const [name, setName] = useState("");
  }

  return <p>سلام</p>;
}

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

تمرین 9

پس از چند کلیک روی دکمه، تایمر در کد زیر چه مقداری را چاپ می‌کند؟
function Counter() {
  const [count, setCount] = useState(0);

  useEffect(() => {
    const id = setInterval(() => console.log(count), 1000);
    return () => clearInterval(id);
  }, []);

  return <button onClick={() => setCount(count + 1)}>{count}</button>;
}

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

تمرین 10

وقتی Dependency یک Effect تغییر می‌کند، ترتیب درست اجرا کدام است؟

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

تمرین 11

سؤال ۱۱. تغییر مقدار current یک useRef چه تفاوتی با تغییر State دارد؟

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

تمرین 12

سؤال ۱۲. وقتی value یک Context Provider تغییر می‌کند، چه اتفاقی می‌افتد؟

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

تمرین 13

سؤال ۱۳. کدام مورد درباره تابع Reducer در useReducer درست است؟

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

تمرین 14

با کلیک روی دکمه A، مقدار نمایش‌داده‌شده در B چه می‌شود؟
function useToggle() {
  const [on, setOn] = useState(false);
  return [on, () => setOn(!on)];
}

function A() {
  const [on, toggle] = useToggle();
  return <button onClick={toggle}>A: {String(on)}</button>;
}

function B() {
  const [on] = useToggle();
  return <p>B: {String(on)}</p>;
}

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

تمرین 15

سؤال ۱۵. کدام جمله درباره Render و Commit درست است؟

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

تمرین 16

با هر کلیک روی دکمه، کدام کامپوننت‌ها دوباره Render می‌شوند؟
function Footer() {
  console.log("Footer رندر شد");
  return <p>پایین صفحه</p>;
}

function App() {
  const [n, setN] = useState(0);

  return (
    <div>
      <button onClick={() => setN(n + 1)}>{n}</button>
      <Footer />
    </div>
  );
}

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

تمرین 17

وقتی id تغییر کند، State داخلی Form چه می‌شود؟
// Form خودش یک useState داخلی دارد
function App() {
  const [id, setId] = useState(1);

  return <Form key={id} userId={id} />;
}

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

تمرین 18

با تغییر wide، State داخلی Counter چه می‌شود؟
// Counter خودش یک useState داخلی دارد
function Page({ wide }) {
  return wide ? (
    <div className="wide">
      <Counter />
    </div>
  ) : (
    <Counter />
  );
}

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

تمرین 19

چرا memo در کد زیر جلوی Render مجدد Card را نمی‌گیرد؟
const Card = React.memo(function Card({ style }) {
  return <div style={style}>محتوا</div>;
});

function Parent() {
  const [n, setN] = useState(0);

  return (
    <>
      <button onClick={() => setN(n + 1)}>{n}</button>
      <Card style={{ color: "red" }} />
    </>
  );
}

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

تمرین 20

سؤال ۲۰. Race Condition در دریافت داده با useEffect دقیقاً چه زمانی رخ می‌دهد؟

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

تمرین 21

مقدار برگشتی useParams برای یک پارامتر مسیر مثل /products/:id از چه نوعی است؟

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

تمرین 22

تفاوت اصلی Server State با Client State چیست؟

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

تمرین 23

کدام خطا توسط Error Boundary گرفته نمی‌شود؟

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

تمرین 24

چرا استفاده از button به‌جای div با onClick برای دسترس‌پذیری بهتر است؟

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

تمرین 25

کدام تست از دید کاربر نوشته شده، نه وابسته به جزئیات پیاده‌سازی؟

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

تمرین 26

اگر دانلود یک کامپوننت lazy به‌کلی شکست بخورد، کدام مکانیزم آن را مدیریت می‌کند؟

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

تمرین 27

در جست‌وجوی زنده روی یک لیست سنگین، چرا مقدار خود فیلد ورودی نباید Transition شود؟

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

تمرین 28

کدام استفاده از useId درست است؟

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

تمرین 29

کدام مقدار را نمی‌توان از یک Server Component به‌عنوان Prop به Client Component داد؟

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

تمرین 30

کدام مورد جزو وظایف اصلی یک Bundler یا Build Tool است؟

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