Réagir-Routeur: Non, Pas Trouvé La Route?

De considérer les éléments suivants:

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>
];

J'ai une Application, un Modèle d'HeaderTemplate, et Paramétré ensemble d'itinéraires avec le même gestionnaire (à l'intérieur de l'App de modèle). Je veux être en mesure de servir 404 routes quand quelque chose n'est pas trouvé. Par exemple, /CA/SanFrancisco doit être trouvé et géré par la Région, alors que les /SanFranciscoz devrait 404.

Voici comment j'ai tester rapidement les routes.

['', '/', '/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');
    });
});

Le problème est /SanFranciscoz est toujours gérée par la Zone de la page, mais je veux qu'elle 404. Aussi, si j'ajoute un NotFoundRoute à la première route de configuration, toutes les pages 404.

<Route handler={App} someProp="defaultProp">
    <Route path="/" handler={Page} />
    <NotFoundRoute handler={NotFound} />
</Route>,

Ce que je fais mal?

Voici un résumé qui peut être téléchargé et expérimenté.

https://gist.github.com/adjavaherian/aa48e78279acddc25315

  • Pour la future référence pour les personnes qui se retrouvent à cette question, hormis le droit de réponse ci-dessous, à lire dans le cet article. Je suis tombé sur cela plus tôt et je pense que personne l'explique parfaitement.
InformationsquelleAutor 4m1r | 2015-08-20