Beachten Sie Folgendes:React-Router: Keine nicht gefundene Route?
var AppRoutes = [
<Route handler={App} someProp="defaultProp">
<Route path="/" handler={Page} />
</Route>,
<Route handler={App} someProp="defaultProp">
<Route path="/" handler={Header} >
<Route path="/withheader" handler={Page} />
</Route>
</Route>,
<Route handler={App} someProp="defaultProp">
<Route path=":area" handler={Area} />
<Route path=":area/:city" handler={Area} />
<Route path=":area/:city/:locale" handler={Area} />
<Route path=":area/:city/:locale/:type" handler={Area} />
</Route>
];
Ich habe eine App-Vorlage, eine Header und Parameterized Satz von Routen mit demselben Handler (in App-Vorlage). Ich möchte 404 Routen bedienen können, wenn etwas nicht gefunden wird. Zum Beispiel sollte/CA/SanFrancisco von Area gefunden und bearbeitet werden, während/SanFranciscoz sollte 404.
So kann ich die Routen schnell testen.
['', '/', '/withheader', '/SanFranciscoz', '/ca', '/CA', '/CA/SanFrancisco', '/CA/SanFrancisco/LowerHaight', '/CA/SanFrancisco/LowerHaight/condo'].forEach(function(path){
Router.run(AppRoutes, path, function(Handler, state){
var output = React.renderToString(<Handler/>);
console.log(output, '\n');
});
});
Das Problem wird/SanFranciscoz wird immer durch die Gegend Seite umgegangen wird, aber ich möchte es 404. Auch wenn ich eine NotFoundRoute auf der ersten Route Konfiguration hinzufügen, werden alle Bereichsseiten 404.
<Route handler={App} someProp="defaultProp">
<Route path="/" handler={Page} />
<NotFoundRoute handler={NotFound} />
</Route>,
Was mache ich falsch?
Hier ist ein Kern, der heruntergeladen und experimentiert werden kann.
https://gist.github.com/adjavaherian/aa48e78279acddc25315
wenn du eine Redux-App hast, wie machst du: ' 'in dieser Syntax:' const routes = { Komponente: Main, childRoutes: [ {path: '/', Komponente: Home}, ], indexRoute: { Komponente: Main, }, }; ' –
tatsu
wenn Sie Requisiten setzen für die 404-Compontent verwenden diese wollen Code: ' } />' –