[React.JS] Brak przeładowania komponentu, podobny URL z innym numerem ID.

0

Cześć, mam problem z przeładowaniem się komponentu. Problem powstaje jak np chce przejść z linku "/type/6" na podobny link ale z innym id np. "/type/16".
Routing mam ustawiony tak

<Route path="/details/:eventId" component={Details}/>
 <Route path="/type/:typetId" component={Type}/>
 <Route exact path="/" component={Events}/>

A tutaj generuje link

<div className="damage_relations">
    {Object.keys(props.damage_relations).map( (item, key) => {
        return (
            <div key={key}>{item}
                {
                Object.keys(props.damage_relations[item]).map( (el, i) => {
                     return (
                         <Link key={i} to={"/type" + props.damage_relations[item][i].url.match(/\/\d+/)}><p>{props.damage_relations[item][i].name}</p></Link>
                    );
                 })}
            </div>
        )
    })}
</div>

Nie wiem czy to wina tego że link jest tak zagnieżdżony, bo muszę przeiterowac obiekt w obiekcje, albo key źle ustawiam. Próbowałem metody, że przypisywałem na onClicku reload(), ale historia dalej nie działa, dopóki nie przejdę na zupełnie inny link.

0

Są od tego odpowiednie metody reacta:

0

Kurcze, wysłałem nie chcący poprzedni post.
Wracając do tematu, są odpowiednie metody reacta do tego.

componentDidUpdate
static getDerivedStateFromProps

0

Dzięki za odpowiedź :D
Użyłem mało eleganckiego prostego tagu a zamiast komponentu Link. Chyba nie jest to za najładniejsze rozwiązanie. Pokombinuje coś z componentDidUpdate, pierwotnie w reducerze zapisywałem numer id z linku, a potem w componentDidUpdate sprawdzałem czy jest ten sam w state, jak tak to chciałem wywołać this.forceUpdate() i nieraz się mi psuło. Musze jeszcze pokombinować :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1