Saya ingin mendeklarasikan path dengan parameter path opsional, maka ketika saya menambahkannya halaman untuk melakukan sesuatu yang ekstra (mis. Isi beberapa data):
http: // localhost / app / path / ke / halaman <= render halaman http: // localhost / app / path / ke / halaman / pathParam <= render halaman dengan beberapa data sesuai dengan pathParam
Di router reaksi saya, saya memiliki jalur berikut, untuk mendukung dua opsi (ini adalah contoh yang disederhanakan):
<Router history={history}>
<Route path="/path" component={IndexPage}>
<Route path="to/page" component={MyPage}/>
<Route path="to/page/:pathParam" component={MyPage}/>
</Route>
</Router>
Pertanyaan saya adalah, bisakah kita mendeklarasikannya dalam satu rute? Jika saya menambahkan hanya baris kedua maka rute tanpa parameter tidak ditemukan.
EDIT # 1:
Solusi yang disebutkan di sini tentang sintaks berikut tidak bekerja untuk saya, apakah itu yang tepat? Apakah ada dalam dokumentasi?
<Route path="/product/:productName/?:urlID?" handler={SomeHandler} />
Versi router reaksi saya adalah: 1.0.3
/route(/:category/(:article)
Untuk setiap pengguna React Router v4 yang tiba di sini setelah pencarian, parameter opsional di dalam
<Route>
dilambangkan dengan?
akhiran.Berikut dokumentasi yang relevan:
https://reacttraining.com/react-router/web/api/Route/path-string
https://www.npmjs.com/package/path-to-regexp#optional
Contoh sederhana dari bagian paginasi situs yang dapat diakses dengan atau tanpa nomor halaman.
sumber
<Match pattern />
sekarang<Route path />
lagi, tetapi akhiran tanda tanya tetap pendekatan sekarang untuk menangani params opsional.players
,players/123
,players/123/edit
,players?unseen=true
. Parameter opsional?unseen
tidak berfungsi untuk saya. meskipun saya mencoba semua perbaikan dari diskusi ini. Bisakah Anda membantu dengan string jalur yang tepat, yang akan menangani ini? Terima kasih sebelumnya!example.com/search?query=test
mencoba menggunakan pola berikutnya/:search(search)
.Sintaks yang berfungsi untuk beberapa parar opsional:
Sekarang, url dapat:
sumber
untuk react-router V5 dan penggunaan di atas di bawah sintaks untuk beberapa jalur
sumber