2015-09-25 19 views
5

Tôi đang cố gắng để tạo ra một lộ trình phù hợp với tất cả các URL sau:Optional Phản ứng Router tham số

/product/foo 
/product/foo/bar 

Dưới đây là tuyến đường hiện tại của tôi:

<Route path="/product/:productName(/:urlID)" handler={SomeHandler} /> 

Theo tài liệu trên https://github.com/rackt/react-router/blob/master/docs/guides/basics/RouteMatching.md tuyến đường này phải khớp hoàn toàn nhưng không khớp với một trong các URL ở trên.

Tôi cần làm gì để hỗ trợ thông số tùy chọn này?

Tôi đang sử dụng React Router phiên bản 0.13.3 và nếu tôi xóa (/:urlID) thì tôi có thể khớp với URL đầu tiên nhưng không khớp với URL thứ hai.

+1

** Đối với phiên bản router phản ứng ** '1.0.0' ** trở lên (bao gồm' 2.x'), hãy xem ** [** đây **] (http: // stackoverflow.com/a/35604855/2030321) ... – Chris

Trả lời

7

Được rồi, vì vậy cú pháp() là cụ thể cho React Router 1.0, không phải 0.13.3. Tôi đã kết thúc bằng cách sử dụng? cú pháp:

<Route path="/product/:productName/?:urlID?" handler={SomeHandler} /> 
Các vấn đề liên quan