Wsparcie dla routingu React/NextJS dla składnika linki wnuka nie działa

0

Pytanie

Chyba się czepiasz... i nie mogę zrozumieć, nie ma problemu, czy to z NextJS.

Mam trzy składniki:

  • Lista kart (wymienia wszystkie karty - ma kilka <Card> dzieci)
  • Mapa (widok mapy - ma <Button> dziecko)
  • Przycisk (Wyświetla przycisk na karcie - wykorzystuje <Link> składnik)

Komponent przycisku zawiera składnik nextjs/link.

Muszę wysłać link do artykułu z listy kart, przez kartę w przycisk (i tu mój <Link>'s href)...

Działa to dobrze, jeśli przesyłam link (np. /test) bezpośrednio z karty na przycisk... pokazuje również wiersz, gdy kieruję ją z listy kart przez kartę w przycisk, aby wydrukować ją na ekranie - tak, widzę jej wartość... ale to nie działa, kiedy ja to robię:

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>
  );
}

TAK, {text} działa również przekazywane z komponentu babci i dziadka (lista kart). Ale składnik Linki nie akceptuje przekazana propozycja, jeśli nie zostało ono wysłane bezpośrednio z jego bezpośredniego rodzica! (Tak, to działa, jeśli przekażę wiersz tylko na jeden poziom - ale jeśli ona przekazana z listy kart (i właśnie minął), nie będzie ona przyjęta!)

Bez leczenia błąd w czasie wykonywania: Błąd Typu podpory: Zawieszenie href spodziewa się, że string lub object w <Link>ale dostał undefined zamiast.

I tak, wiem, mogłem korzystać administracji publicznej, ale nie chcę się dostosować do tego wszystkie administracji publicznej, tak jak to już nigdzie nie będzie potrzebne.

Z góry bardzo ci dziękuję, chłopaki!

Sascha

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

Najlepsza odpowiedź

0

Ja poprawiłem to" (nie jestem dumna!), po prostu tworząc jeszcze jeden wiersz przed wysłaniem rekwizytów składnik link.

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 dziwne... i, być może, znajdę przyczynę tego w przyszłości.

Гритц,

Sascha

2021-11-15 07:50:43

W innych językach

Ta strona jest w innych językach

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