ctx.router
Instance route berbasis React Router, untuk melakukan navigasi melalui kode di RunJS. Biasanya digunakan dengan ctx.route, ctx.location.
Skenario Penggunaan
Perhatian:
ctx.routerhanya tersedia pada environment RunJS yang memiliki konteks route (seperti JSBlock dalam halaman, halaman Flow, event flow, dll.); pada konteks pure backend atau tanpa route (seperti workflow) mungkin kosong.
Definisi Tipe
Router berasal dari @remix-run/router, di RunJS melakukan navigasi, back, refresh, dll. melalui ctx.router.navigate().
Method
ctx.router.navigate()
Navigasi ke path target, atau eksekusi back/refresh.
Signature:
Parameter:
to: path target (string), posisi history relatif (number, seperti-1berarti back) ataunull(refresh halaman saat ini)options: konfigurasi opsionalreplace?: boolean: apakah mengganti history saat ini (defaultfalse, yaitu push record baru)state?: any: state yang dikirim ke route target. Data ini tidak akan muncul di URL, dapat diakses pada halaman target melaluictx.location.state, cocok untuk informasi sensitif, data sementara, atau informasi yang tidak cocok dimasukkan di URL
Contoh
Navigasi Dasar
Mengganti History (Tanpa Menambah Record)
Meneruskan state
Back dan Refresh
Hubungan dengan ctx.route, ctx.location
ctx.router bertanggung jawab atas "aksi navigasi", ctx.route dan ctx.location bertanggung jawab atas "status route saat ini".
Perhatian
navigate(path)secara default akan push history record baru, user dapat kembali melalui browser backreplace: trueakan mengganti history record saat ini tanpa menambah, cocok untuk redirect setelah login, navigasi setelah submit berhasil, dll.- Tentang parameter
state:- Data yang dikirim melalui
statetidak akan muncul di URL, cocok untuk data sensitif atau sementara - Pada halaman target dapat diakses melalui
ctx.location.state stateakan disimpan di history browser, masih dapat diakses saat forward/backstateakan hilang setelah refresh halaman
- Data yang dikirim melalui
Terkait
- ctx.route: Informasi pencocokan route saat ini (pathname, params, dll.)
- ctx.location: Posisi URL saat ini (pathname, search, hash, state),
statesetelah navigasi dibaca di sini

