xem xét như sau:React-Router: Không tìm thấy lộ trình?
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>
];
Tôi có một mẫu App, một HeaderTemplate, và thiết lập tham số của các tuyến đường với bộ xử lý tương tự (trong App mẫu). Tôi muốn có thể phục vụ các tuyến đường 404 khi không tìm thấy thứ gì đó. Ví dụ,/CA/SanFrancisco nên được tìm thấy và xử lý bởi Khu vực, trong khi/SanFranciscoz nên 404.
Đây là cách tôi nhanh chóng kiểm tra các tuyến đường.
['', '/', '/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');
});
});
Vấn đề là/SanFranciscoz luôn được xử lý bởi các trang Diện tích, nhưng tôi muốn nó 404. Ngoài ra, nếu tôi thêm một NotFoundRoute để cấu hình tuyến đường đầu tiên, tất cả các trang Diện tích 404.
<Route handler={App} someProp="defaultProp">
<Route path="/" handler={Page} />
<NotFoundRoute handler={NotFound} />
</Route>,
Tôi đang làm gì sai?
Dưới đây là một ý chính có thể được tải xuống và thử nghiệm.
https://gist.github.com/adjavaherian/aa48e78279acddc25315
nếu bạn có ứng dụng redux bạn làm cách nào: ' 'trong cú pháp này:' const routes = { thành phần: Main, childRoutes: [ {path: '/', thành phần: Trang chủ}, ], indexRoute: { thành phần: Main, }, }; ' –
tatsu
nếu bạn muốn thiết lập đạo cụ cho 404-Compontent sử dụng này code: ' } />' –