هوش مصنوعی تحلیل کد کد، خطا و مشکلات برنامه‌نویسی را بررسی کن و راهکار دقیق بگیر.
🤖 تحلیل کد 🐞 رفع خطا 💡 پیشنهاد راهکار
ورود به هوش مصنوعی
قیمت‌یار هوشمند قیمت واقعی را پیدا کن؛ مقایسه کن، روند قیمت را ببین و بهترین گزینه را انتخاب کن.
🚗 خودرو 🏠 ملک 💻 لپ‌تاپ 📺 دیجیتال
ورود به قیمت‌یار
دوره آموزشی تخصصی آموزش React از پایه تا ساخت اپلیکیشن واقعی
یادگیری پروژه‌محور
آموزش React از پایه تا ساخت اپلیکیشن واقعی
دوره آموزشی
اطلاعات دوره آموزشی

آموزش React از پایه تا ساخت اپلیکیشن واقعی

ثبت‌نام آنلاین دوره
ابتدا حساب کاربری خود را بسازید؛ سپس از پروفایل کلاس مرتبط با این دوره را انتخاب می‌کنید.

مسیر پروژه‌محور React از JSX و Component تا Router، API، احراز هویت، Hookها و ساخت یک پلتفرم آموزشی واقعی.

مدرس گروه فنی و مهندسی تحلیل کد
سطح مقدماتی تا متوسط
قیمت 0 تومان

سرفصل جلسات دوره

15 جلسه

<div class='lesson-rich-content'> <h2>جلسه 1: React چیست و چرا component؟</h2> <h3>تمرکز جلسه</h3> <p> JSX، component، props و تفاوت UI مبتنی بر component با DOM مستقیم. </p> <h3>چرا این مبحث مهم است؟</h3> <p> React ساخت رابط‌های پیچیده را با componentهای قابل استفاده مجدد ساده می‌کند. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> یک صفحه دوره را به Header، CourseCard و CourseList تقسیم کنید. </p> <h3>اشتباه رایج</h3> <p> قرار دادن تمام UI در یک component بزرگ. </p> <h3>چالش جلسه</h3> <p> یک صفحه سه‌بخشی بسازید و مرز مسئولیت componentها را مشخص کنید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 2: JSX و rendering</h2> <h3>تمرکز جلسه</h3> <p> expression، شرط، list rendering و key. </p> <h3>چرا این مبحث مهم است؟</h3> <p> JSX اتصال خوانایی کد JavaScript و ساختار UI را فراهم می‌کند. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> لیست دوره‌ها را از یک آرایه در JSX نمایش دهید. </p> <h3>اشتباه رایج</h3> <p> استفاده از index به عنوان key در لیست‌های قابل تغییر. </p> <h3>چالش جلسه</h3> <p> لیست دوره‌ای بسازید که key پایدار از id داده دریافت کند. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 3: Props و طراحی API کامپوننت</h2> <h3>تمرکز جلسه</h3> <p> انتقال داده، default value و children. </p> <h3>چرا این مبحث مهم است؟</h3> <p> API مناسب componentها از coupling زیاد جلوگیری می‌کند. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> CourseCard را طوری طراحی کنید که عنوان، تصویر، سطح و CTA را از props بگیرد. </p> <h3>اشتباه رایج</h3> <p> قرار دادن داده ثابت داخل component عمومی. </p> <h3>چالش جلسه</h3> <p> یک component کارت بسازید که در سه context مختلف قابل استفاده باشد. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 4: State و useState</h2> <h3>تمرکز جلسه</h3> <p> state، setter، event و تفاوت state با variable معمولی. </p> <h3>چرا این مبحث مهم است؟</h3> <p> State تغییرات UI را به شکل قابل پیش‌بینی مدیریت می‌کند. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> جستجو و باز/بسته شدن پنل سرفصل را با state پیاده کنید. </p> <h3>اشتباه رایج</h3> <p> تغییر مستقیم state یا نگهداری state مشتق‌شده غیرضروری. </p> <h3>چالش جلسه</h3> <p> یک filter UI بسازید که state آن فقط داده ضروری را نگه دارد. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 5: useEffect و چرخه دریافت داده</h2> <h3>تمرکز جلسه</h3> <p> effect، dependency و cleanup. </p> <h3>چرا این مبحث مهم است؟</h3> <p> دریافت داده و اتصال به سرویس‌ها نیاز به مدیریت lifecycle دارد. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> دوره‌ها را هنگام mount از API دریافت کنید و loading را نمایش دهید. </p> <h3>اشتباه رایج</h3> <p> dependency array اشتباه و effectهای تکرارشونده. </p> <h3>چالش جلسه</h3> <p> یک fetch effect با cleanup و حالت خطا طراحی کنید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 6: Fetch API در React</h2> <h3>تمرکز جلسه</h3> <p> loading، success، error و credentials در درخواست‌ها. </p> <h3>چرا این مبحث مهم است؟</h3> <p> frontend واقعی باید رفتار API را مدیریت کند نه فقط پاسخ موفق را. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> صفحه دوره را به endpoint واقعی متصل کنید. </p> <h3>اشتباه رایج</h3> <p> فرض کردن پاسخ همیشه JSON موفق است. </p> <h3>چالش جلسه</h3> <p> سه حالت loading، empty و error را در UI جداگانه نمایش دهید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 7: Form و Controlled Components</h2> <h3>تمرکز جلسه</h3> <p> value، onChange، submit و validation. </p> <h3>چرا این مبحث مهم است؟</h3> <p> Controlled form امکان اعتبارسنجی و کنترل دقیق state را می‌دهد. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> فرم ثبت‌نام دوره را controlled پیاده کنید. </p> <h3>اشتباه رایج</h3> <p> استفاده از ref برای تمام ورودی‌ها بدون نیاز. </p> <h3>چالش جلسه</h3> <p> فرم چهار فیلدی با validation و پیام خطا بسازید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 8: React Router و مسیرهای واقعی</h2> <h3>تمرکز جلسه</h3> <p> Routes، Route، Link، Navigate و پارامتر slug. </p> <h3>چرا این مبحث مهم است؟</h3> <p> در یک سایت آموزشی navigation بخشی از معماری اصلی است. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> صفحه لیست و جزئیات دوره را با slug متصل کنید. </p> <h3>اشتباه رایج</h3> <p> ساخت لینک‌های دستی و ناسازگار با router. </p> <h3>چالش جلسه</h3> <p> مسیر /courses و /courses/:slug را کامل پیاده کنید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 9: Context و state سراسری</h2> <h3>تمرکز جلسه</h3> <p> Context، Provider و مدیریت داده مشترک. </p> <h3>چرا این مبحث مهم است؟</h3> <p> Context برای داده‌های واقعاً مشترک از prop drilling جلوگیری می‌کند. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> تم سایت یا وضعیت کاربر را با Context مدیریت کنید. </p> <h3>اشتباه رایج</h3> <p> قرار دادن همه stateها در Context. </p> <h3>چالش جلسه</h3> <p> تشخیص دهید کدام state باید local و کدام shared باشد. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 10: Custom Hook و reusable logic</h2> <h3>تمرکز جلسه</h3> <p> ساخت hook اختصاصی برای fetch یا form. </p> <h3>چرا این مبحث مهم است؟</h3> <p> Custom hook منطق تکراری را از UI جدا می‌کند. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> یک useCourses برای دریافت و نگهداری دوره‌ها بسازید. </p> <h3>اشتباه رایج</h3> <p> ساخت hook فقط برای پیچیده کردن پروژه. </p> <h3>چالش جلسه</h3> <p> منطق fetch دوره‌ها را از component به hook منتقل کنید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 11: احراز هویت و route guard</h2> <h3>تمرکز جلسه</h3> <p> cookie-based auth، /api/auth/me، credentials و مسیر محافظت‌شده. </p> <h3>چرا این مبحث مهم است؟</h3> <p> امنیت frontend باید با backend هماهنگ باشد و صرفاً به state محلی تکیه نکند. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> یک صفحه پروفایل را فقط برای کاربر واردشده نمایش دهید. </p> <h3>اشتباه رایج</h3> <p> نگهداری صرف وضعیت admin در localStorage به عنوان منبع حقیقت. </p> <h3>چالش جلسه</h3> <p> Auth gate طراحی کنید که با API وضعیت واقعی session را بررسی کند. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 12: مدیریت خطا و UX حرفه‌ای</h2> <h3>تمرکز جلسه</h3> <p> error boundary، fallback، retry و empty state. </p> <h3>چرا این مبحث مهم است؟</h3> <p> خطای شبکه نباید کاربر را به صفحه شکسته یا بن‌بست هدایت کند. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> برای صفحه دوره loading، خطا و retry طراحی کنید. </p> <h3>اشتباه رایج</h3> <p> نمایش پیام فنی خام backend به کاربر. </p> <h3>چالش جلسه</h3> <p> یک صفحه resilient بسازید که با خطای API امکان تلاش مجدد داشته باشد. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 13: Performance و React rendering</h2> <h3>تمرکز جلسه</h3> <p> memoization، lazy loading، key و جلوگیری از render اضافه. </p> <h3>چرا این مبحث مهم است؟</h3> <p> با رشد داده، renderهای اضافه می‌توانند تجربه را کند کنند. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> لیست بزرگ دوره‌ها را با lazy route و rendering کنترل‌شده بهینه کنید. </p> <h3>اشتباه رایج</h3> <p> استفاده افراطی از useMemo و useCallback بدون اندازه‌گیری. </p> <h3>چالش جلسه</h3> <p> یک صفحه را با React DevTools بررسی و یک bottleneck واقعی را اصلاح کنید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 14: ساختار پروژه React حرفه‌ای</h2> <h3>تمرکز جلسه</h3> <p> feature-based folders، service، hooks، components و styles. </p> <h3>چرا این مبحث مهم است؟</h3> <p> ساختار پوشه باید پیدا کردن و تغییر featureها را آسان کند. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> ساختار یک پروژه آموزشی React را بازطراحی کنید. </p> <h3>اشتباه رایج</h3> <p> ساختاردهی بر اساس نوع فایل بدون توجه به feature. </p> <h3>چالش جلسه</h3> <p> ساختار پروژه را برای course، auth و admin تعریف کنید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 15: پروژه نهایی React؛ پلتفرم دوره</h2> <h3>تمرکز جلسه</h3> <p> ترکیب Router، API، auth، component، form، search و state. </p> <h3>چرا این مبحث مهم است؟</h3> <p> پروژه نهایی مهارت اتصال اجزای React به backend واقعی را نشان می‌دهد. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> یک mini learning platform با لیست دوره، جزئیات، ثبت‌نام و پنل کاربر بسازید. </p> <h3>اشتباه رایج</h3> <p> ساخت UI زیبا بدون مدیریت loading، error و auth. </p> <h3>چالش جلسه</h3> <p> نسخه نهایی را با API واقعی، route guard و UX کامل اجرا و تست کنید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.