考慮以下幾點:React-Router:沒有找不到路由?
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>
];
我有一個應用程序模板,一個HeaderTemplate中,並且參數組具有相同的處理路線(應用程序模板內)。我希望能夠在找不到東西時提供404條路線。例如,/ CA/SanFrancisco應該被Area找到和處理,而/ SanFranciscoz應該是404。
下面是我如何快速測試路線。
['', '/', '/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');
});
});
的問題/ SanFranciscoz總是由區頁面處理,但我希望它404。另外,如果我加入NotFoundRoute到第一路由配置,所有的區域頁面404
<Route handler={App} someProp="defaultProp">
<Route path="/" handler={Page} />
<NotFoundRoute handler={NotFound} />
</Route>,
我在做什麼錯?
這裏有一個可以下載和試驗的要點。
https://gist.github.com/adjavaherian/aa48e78279acddc25315
如果你有一個REDX應用程序,你會怎麼做:' '在這個句法中:'const routes = { component:Main, childRoutes:[ {路徑: '/',組件:首頁}, ], indexRoute:{ 成分:主, }, };' –
tatsu
如果你想設置的道具爲404 Compontent使用代碼: ' } />' –