Reagovat/NextJS směrování rekvizita vnouče je Odkaz složka nefunguje

0

Otázka

Zasekla jsem se a nemůžu přijít na to, pokud to je problém s NextJS.

Mám tři komponenty:

  • CardsList (vypíše všechny karty - má více <Card> děti)
  • Karty (zastoupení kartu - má <Button> dítě)
  • Tlačítko (Zobrazí tlačítko v kartě - používá <Link> složka)

Tlačítko složka obsahuje nextjs/link component.

Já třeba předat odkaz na článek z CardsList, prostřednictvím Karty, do Tlačítko (a tady do mého <Link>'href)...

To funguje perfektně, když jsem se projít na odkaz (např. /mytest) přímo z Karty na Tlačítko... To také ukazuje Řetězec, když jsem cestou z CardsList, přes Karty do tlačítka tisk na obrazovce - ano, vidím jeho hodnota... ale to není práce, když udělám tohle:

export default function Button({ text, link }) {
  return (
    <Link href={link} passHref>
      <button className="bg-transparent hover:bg-primary text-link font-semibold hover:text-white py-1 px-3 border border-link hover:border-transparent rounded self-center" >
        {text}
      </button>
    </Link>
  );
}

Ano, {text} funguje - také prošel od prarodičů složky (CardsList). Ale Odkaz součásti nepřijímá prošel prop, pokud to nebylo přímo poslal od své přímé nadřazené součásti! (Ano, to funguje, když jsem předat Řetězec pouze jednu úroveň - ale pokud je předán z CardsList (a právě prošel) nebude přijata!)

Neošetřená Chyba Runtime Chyba: Nepodařilo vrtule typu: prop href očekává string nebo object v <Link>,, ale mám undefined místo.

A ano, já vím, jsem mohl použít státní správy, ale nechci nastavit celou státní správu pro tohle - jak to, že ji nebudu potřebovat kdekoliv jinde.

Děkuji moc předem, kluci!

Sascha

hyperlink next.js reactjs
2021-11-14 14:16:17
1

Nejlepší odpověď

0

Jsem "opravil" (ne hrdý!) jen vytvořit další Řetězec před předáním prop na odkaz složky.

export default function Button({ text, link }) {
  return (
    <Link href={`${link}`} passHref>
      <button className="bg-transparent hover:bg-primary text-link font-semibold hover:text-white py-1 px-3 border border-link hover:border-transparent rounded self-center" >
        {text}
      </button>
    </Link>
  );
}

To je divný... a možná budu najít důvod, proč v budoucnu.

Greetz,

Sascha

2021-11-15 07:50:43

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................