M-am cam blocat... si nu-mi dau seama dacă aceasta este o problemă cu NextJS.
Am trei componente:
- CardsList (listează toate cărțile - are mai multe
<Card>
copii) - Card (reprezentare de o carte de - a o
<Button>
copil) - Butonul (Afișează un buton în carte - foloseste
<Link>
component)
Butonul componentă conține un nextjs/link-ul de componentă.
Am nevoie pentru a trece link-ul de la articolul la CardsList, prin Card, în Buton (și de aici în <Link>
modelului href)...
Aceasta funcționează perfect, dacă am trece link-ul (de exemplu, /mytest) direct de pe Cardul de la Buton... Se arată, de asemenea, String când am traseu de CardsList, prin Card în buton doar pentru a imprima pe ecran - da, eu pot vedea valoarea, dar aceasta nu funcționează atunci când am face acest lucru:
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>
);
}
Da, {text}
funcționează, de asemenea, transmise de la bunici componentă (CardsList). Dar Link-ul de componentă nu accepta trecut prop dacă acesta nu a fost trimis direct de la ei direct componentei părinte! (Da, funcționează, dacă am trece Șir doar un singur nivel - dar dacă e trecut de CardsList (și tocmai a trecut) nu vor fi acceptate!)
Netratată Eroare de Execuție Eroare: nu a Reușit prop tip: prop
href
se așteaptă ostring
sauobject
în<Link>
dar amundefined
în schimb.
Și da, știu, mi-ar prinde management de stat, dar nu vreau să înființeze tot statul de management pentru acest lucru - ca nu va avea nevoie de ea oriunde altundeva.
Vă mulțumesc foarte mult în avans, băieți!
Sascha