Wpis z mikrobloga

Mam taki komponent:
https://pastebin.com/5T0KR9NG

Chciałem przenieść to co jest między <nav>...</nav> i <main>...</main> do nowych komponentów bo planuję to rozbudować.

Mógłbym wyciąć to co jest w nav i wkleić do komponentu z nagłówkiem:
ArticlesNav ({ articles, articlesRefs, articleToLiRefs })

Problem w tym że przekazywałbym refy przez propsy a nie przez forwardRef.
Jest jakiś sposób, żeby przekazać wiele refów na raz?

#react #reactjs #javascript
  • 5
  • Odpowiedz
  • 0
@GeDox:

Zrobiłem tak:
"articlesRefs, articleToLiRefs" to są Mapy z refami i innymi danymi.
wsadziłem je w:

const refsToForward = useRef([articlesRefs, articleToLiRefs]);

<div>
<ArticlesNav articles={articles} ref={refsToForward} />

i wewnątrz nowego komponentu sobie to rozpakowuję:

const ArticlesNav forwardRef( ({ articles}, ref ) =>
const [articlesRefs, articleToLiRefs] = ref.current;

i używam jak wcześniej.
Nie wiem czy to jest dobrze. Zawsze przez ref przekazywałem tylko pojedyncze refy.
  • Odpowiedz