Nie rozumiem, jaki jest cel używania IndexRoute i IndexLink . Wygląda na to, że w każdym przypadku poniższy kod wybrałby najpierw komponent Home, chyba że została aktywowana ścieżka About.
<Route path="/" component={App}>
<IndexRoute component={Home}/>
<Route path="about" component={About}/>
</Route>
vs
<Route path="/" component={App}>
<Route path="home" component={Home}/>
<Route path="about" component={About}/>
</Route>
Jaka jest zaleta / cel pierwszego przypadku?
javascript
reactjs
react-router
url-routing
Nick Pineda
źródło
źródło
Home
zostać wybrany w pierwszym przykładzie, jeśli ścieżka nie była/home
? Sprawdź wyjaśnienie w dokumentacji: github.com/rackt/react-router/blob/master/docs/guides/basics/…/
to renderowałoby sięApp
zHome
przekazanym jako dziecko. W dolnym przykładzie polecenie going/
to renderowałoby sięApp
bez żadnegoHome
lubAbout
renderowanego, ponieważ żadna z ich ścieżek nie jest zgodna.DefaultRoute
naIndexRoute
. Uważam, że określenie „domyślne” lepiej opisuje cel. github.com/rackt/react-router/blob/master/…Odpowiedzi:
W górnym przykładzie going
/
to renderowałoby sięApp
zHome
przekazanym jako dziecko. W dolnej przykład zamiar/
uczyniłobyApp
z aniHome
też nieAbout
są renderowane, ponieważ żaden z ich ścieżkami pasuje.W przypadku starszych wersji React Router więcej informacji można znaleźć na stronie Index Routes and Index Links dla danej wersji . Począwszy od wersji 4.0, React Router nie używa już
IndexRoute
abstrakcji do osiągnięcia tego samego celu.źródło