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

@nima_arf
Download Telegram
سایت react.ir اماده شده و پس از مدت‌ها یه مقاله جدید نوشتم داخل گذاشتم
آدرس کانال یوتیوب

youtube.com/@nima_arf ▶️
Please open Telegram to view this post
VIEW IN TELEGRAM
React.ir pinned «آدرس کانال یوتیوب youtube.com/@nima_arf ▶️»
سلام
ساعت ۱۰:۱۵ دقیقه کانال یوتیوب و چک کنید 😉

(اگر قسمت اول آموزش فریمر موشن و ندیدید، تو همین چند دقیقه باقی مونده یه نگاهی بهش بندازید - خیلی خفنه 🔥)

▶️ youtube.com/@nima_arf

@react_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
ویدیو جدید به زودی ... 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
یلداتون مبارک 🍉

سابسکرایبرهایی که کانال یوتیوب و دنبال میکنید، برای ویدیو های بعدی کانال نظر سنجی داخل یوتیوب گذاشتم

دوست دارید تو ادامه فعالیت کانال اول کدوم سبک ویدیو رو ادامه بدم؟

1️⃣ Server Side Rendering (NextJS App Directory, Remix, ...)
2️⃣ Performance (Tree Shaking, ...)
3️⃣ Typescript (feat React)
4️⃣ React (Forms, PWA, State Management, UI Libs ...)
5️⃣ PWA (Notifications, Offline Apps, Web ShareAPI)

ممنون میشم یه چند دقیقه وقت بزارید و تو نظر سنجی شرکت کنید، برای شرکت کردن روی لینک زیر کلیک کنید و روی گزینه مورد نظرتون انتخاب کنید (اگر subscribe نکردید هم روی دکمه subscribe و زنگوله 🔔 کنارش کلیک کنید)

https://www.youtube.com/channel/UCGEIqIvCbVW8kIUUK90G1Zg/community?pvf=CAI%253D


@react_ir
Please open Telegram to view this post
VIEW IN 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