Używam routera React Router v4 i rejestruję trasę i próbuję utworzyć do niej łącze, ale kiedy klikam link lub wpisuję go ręcznie, nie wydaje się rejestrować zawartości i nawet nie rozpoznaje trasy w wszystko

Oto ja rejestruję się i tworzę link

<div className="main-contain">
        <Route exact={true} path='/testingroute' component={TestBlock}/>
        <span>Click <Link to={'/testingroute'} className="main-link">here</Link> for further details!</span>
</div>

Oto komponent, który ma renderować trasa

const TestBlock = (props) => {
  console.log("this is being called");

  return (
    <span>Test</span>
  );
}

Nawiasem mówiąc, aplikacja jest opakowana w <BrowserRouter>

Przydałaby się pomoc, ponieważ próbowałem uzyskać tę pracę przez ostatnie kilka dni. Proszę i dziękuję

0
BigSmoke 16 grudzień 2019, 21:03
U mnie działa dobrze. Możesz sprawdzić tutaj: https://codesandbox.io/s/crazy-stallman-u1h3t
 – 
prak
16 grudzień 2019, 21:29

3 odpowiedzi

Czy próbowałeś opakować komponent Route wewnątrz komponentu Switch?

<Switch>
  <Route path='/testingroute' component={TestBlock}/>
<Switch>

Widzę również, że umieściłeś atr

exact={true}

Czy jest jakaś inna trasa korzystająca z tego atr? Możesz też chcieć to sprawdzić

0
Zhephard 16 grudzień 2019, 21:12

<Switch> przegląda swoje elementy podrzędne i pierwszy, który pasuje do bieżącego adresu URL.

Więc to wystarczy.

<Switch>
    <Route path='/testingroute' component={TestBlock}/>
<Switch>

https://reacttraining.com/react-router/web/guides/quick-start

0
Breno Lorran 16 grudzień 2019, 22:26

W Twoim <Link /> trasa nie powinna być w nawiasach. Zmień na <Link to='/testingroute'/>

-1
Michael Ossig 16 grudzień 2019, 21:23