React.ir
1.01K subscribers
11 photos
2 videos
58 links
کانال اطلاع رسانی درباره برنامه‌های سایت react.ir، کانال آپارات و صفحه ویرگول خودم - نیما عارفی

@nima_arf
Download Telegram
یه مسئله‌ای که تو CSS وجود داره بحث اولویت هاست

داخل فایل css ما میایم چند خط CSS مینویسم


. bg-blue {
background: blue;
}

.bg-red {
background: red;
}


بعد ما میایم این کلاس هارو داخل html element هایی که داریم استفاده میکنیم


<button class=“bg-red” />


و الان ما یه دکمه رو صفحه داریم که رنگ پس زمینه‌ش قرمز هستش

حالا اگر من اومدم همزمان هم کلاس bg-blue هم bg-red و دادم به button چی میشه؟


<button class=“bg-red bg-blue” />


ممکنه بگید خب چون bg-blue بعد از bg-red تو class قرار گرفته پس باید رنگ پس زمینه آبی بشه!
- که اشتباهه

تو قطعه کد CSS بالا چون کلاس red بعد از blue تعریف شده پس اولویت بالاتری داره و اگر همزمان رو یه المان ما این ۲ تا کلاس و بزاریم red برنده میشه

جابه‌جا کردن لیست class ها تو element ها خروجی کامپوننتمون تغییر نمیکنه
پس این ۲ تا قطعه کد خروجی یکسان دارن


<button class=“bg-red bg-blue” />
<button class=“bg-blue bg-red” />


حالا اگر ما یه پکیجی مثل tailwind و استفاده کنیم که هزاران هزار class مختلف داره از کجا باید بدونیم که کدوم class اولویتش از اون یکی بیشتره، بعد اصلا اینو بدونیم چه طوری میتونیم کامپوننت هایی بنویسیم که استایل هایی که دارن override بشن؟

اینجاست که tailwind-merge به کمکمون میاد

https://github.com/dcastil/tailwind-merge

این پکیج چه طوری کمکمون میکنه؟ فرض کنید bg-red و bg-blue کلاس های tailwind هستن و با همون اولویت قبلی که بالاتر داشتیم تعریف شدن

ما اگر بیایم این کلاس هارو به تابع tw-merge بدیم،اون class که دیرتر تو رشته class تعریف شده میاد class های قبلی که همون property و تغییر میدن (مثلا background) و پاک میکنه اینطوری دیگه ما مشکل و حل میکنیم!


import { twMerge } from 'tailwind-merge'

twMerge(‘bg-red bg-blue’)
// → ‘bg-blue’

twMerge(‘bg-blue bg-red’)
// → ‘bg-red’


@react_ir
چند روز پیش یکی از بچه ها یه مشکلی با nextjs و SWC تو ویندوز داشت
من بهش پیشنهاد کردم WSL و رو ویندوزش فعال کنه و از طریق اون nextjs و اجرا کنه

علاوه بر اینکه مشکلش حل شده شده بود، سرعت بیلد و اجرای دستورات nodejs خیلی بیشتر شده بود (حدود ۵۰% بیشتر)

حتما یه نگاهی به WSL تو ویندوز ۱۰ و ۱۱ بندازیت و فعالش کنید که کلی سرعتتونو بیشتر میکنه


@react_ir
▶️ برای چندتا ویدیو آخر کانال یوتیوب Chapters اضافه کردم، از این به بعد برای ویدیوهای جدید هم اینو اضافه میکنم

اگر خواستید به کسی لینک بدید که فقط یه قسمتی از ویدیو رو ببینه یا خودتون میخواستید یه قسمتی رو دوباره ببینید
فقط کافیه عنوان موضوع رو از قسمت Chapters پیدا کنید و روش کلیک کنید و ویدیو از اون قسمت پخش میشه 🔥🔥🔥


@react_ir | react.ir
Please open Telegram to view this post
VIEW IN TELEGRAM
۱۰۰۰ تایی شدیمم 🎉

▶️ youtube.com/@nima_arf

@react_ir | react.ir
Please open Telegram to view this post
VIEW IN TELEGRAM
بعد از ظهر کانال یوتیوبو چک کنید یکی از خفنترین و بهترین ویدیوهایی که تاحالا تونستم بسازم و اماده کردم

کلی نکته و اطلاعات به درد بخور داخلش هستش و قراره از ماتریکس خارج بشید


پیشنهاد میکنم تا اون موقع یکم درباره الگوریتم memoization بخونید، چند وقت پیش یه مقاله بلند و بالا درباره memoization و هوک های useCallback/useMemo نوشته بودم که لینکشو اینجا میزارم

https://react.ir/p/memo


@react_ir | react.ir
نظرتون چیه بعد از ظهر ساعت ۵ لایو بزارم (داخل یوتیوب) ؟

میخوام یه اپ نکست و با گیت هاب اکشن بیلد کنم، پوش کنم تو رجیستری، از اونور رو VPS که coolify داره بگیرمش و دیپلویش کنم

خودمم نمیدونم دقیق چیکار باید کنم، کلی فکر کردن و سوتی دادن قراره داشته باشه

کنارش پرسش و پاسخ میتونیم هم داشته باشیم
https://cutejson.dev/

این اپ بالاخره دیپلوی شد، میتونید تست کنید و لذت ببرید

کارش اینکه به شما JSON Server میده که خیلی راحت بتونید ازش استفاده کنید برای پروژه هایی تمرینی که دارید توسعه میدید

سورس پروژه به صورت open source روی گیتهاب قرار داره
یکی از بچه‌های با استعداد community خودمون توسعه دادتش
اگر خوشتون اومد میتونید بهشstar ⭐️ بدید


@react_ir