Wpis z mikrobloga

#react #reactjs #js
Pomocy (,)
słowo wstępu: "react-router-dom": "^4.3.1",
chcę skorzystać z tablicy dla wartości path, z powodu wielu ścieżek do jednego komponentu
Czemu to działa:


, to działa (skopiowane z dokumentacji):


a to już nie?


strona domowa react-router: react-router wesite

druga opcja jest ze strony z dokumentacją , ale zastanawiam się po co wprowadzili możliwość korzystania z tablic dla wartości path, skoro muszę tego Rout'a poprzedzić pierwszym elementem z tablicy, gdy w grę wchodzą 3 wartości to muszę poprzedzić 2 pierwszymi, gdy tego nie zrobię wartość match.id dla pierwszych ma wartość undefined.
Dzieje się tak tylko gdy chce '/:id' ze ścieżki, dla zwykłych ścieżek działa bezbłędnie.
jak wy rozwiązujecie problem więcej niż jednej ścieżki do jednego komponentu?
  • 7
@pempuszek: a gdzie masz niby w dokumentacji napisane, że musisz poprzedzać? Oni w docsach dali tylko przykład że path może być zwykłym stringiem albo tablicą stringów stąd w 1 linijce dali sam string a w 2 linijce tablice. Jak dokładnie wygląda to Twoje id? Kiedyś naciąłem się na to, że "id" mi dobrego nie łapało bo moje id miało myślniki. Wtedy musiałem dać np. {["/one/:id*", "/two/:id*"]}
@pempuszek: nie wiem czy w Twoim przypadku ten nie miesza, spróbuj dać ten z tablicą poza switcha (najlepiej przed). Może coś łapie wcześniej a że jest Switch to w ogóle nie łapie tego route'a.
@pempuszek: to zerknij i daj znać, w sumie nigdy nie korzystałem z tablicy w path bo jak potrzebowałem mieć jeden route do wielu pathów to robiłem po prostu dwa i tyle (najczęściej i tak zamiast dawać wtedy component dawałem render bo potrzebowałem wywołać komponent z parametrem)
@Rst00 głupio mi to pisać ale ten sposób nie działa albo ja coś źle robię, bo robiłem to na nowo i jest ten sam problem że znajduje tylko :id dla ostatniej wartości tablicy, na internecie jakoś nie mogę znaleźć problemu podobnego do tego. Pozostaje mi wypisać te Routy jeden pod drugim