• 1404/02/16

سوال در مورد navlink :

درود روز بخیر

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

دو تا سوال دارم

یکی اینکه این چه مدل سینتکسه؟ اینکه درون استایل کالبک فانکشن بذاریم، فراخوانیش هم نکردیم، یعنی توی خود کدهای هسته نولینک اینطوری تعیین شده؟ برای استایل سایر المنت ها هم شدنیه؟ 

سوال دوم اینکه ورودی پارامتر رو هم متوجه نشدم چجور شده، isActive رو خود آبجکت NavLink که ایمپورت کردیم میده؟ و بصورت destructure اینجا استفاده شده؟

 

 

<NavLink
            style={({ isActive }) => {
              return {
                display: "block",
                margin: "1rem 0",
                color: isActive ? "red" : "",
              };
            }}
            to={`/books/${book.number}`}
            key={book.number}
          >
            {book.name}
          </NavLink>
  • 1404/02/17
  • ساعت 10:48

سلام دوست من

کل کدهایی که مینویسیم همه جاوااسکریپت هست مثلا استایلی که میدیدم به شکل css هست ولی در اصل جاوااسکریپته پس میتونم از قابلیتهای جاوااسکریپت استفاده کنیم

موردی که اشاره کردی بهش میگن if تک خطی . به این معنی هست که اگر isActive برابر true باشه color مقدارش برابر red بشه در غیر این صورت برابر ""هیچی رشته خالی بشه.

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


logo-enamadlogo-samandehi