Membuat Redirect dengan OnClick / After Event di React
Permasalahan
Pernah tidak, memiliki sebuah element yang telah dibuat sedemikian rupa, ternyata saat revisi memiliki fungsi untuk berpindah halaman? atau memiliki sebuah event?
Pernah tidak, ingin mempertahankan sebuah tag pada sebuah element. Misalnya <button/>
namun disisi lain, element tersebut memiliki kemampuan untuk memindahkan halaman satu ke halaman lain ?
Solusi
React Router memiliki sebuah function untuk bisa melakukan routing / redirect user ke sebuah halaman, yaitu dengan menggunakan history dengan history.push
. Contohnya apabila kita menginginkan sebuah button kita untuk bisa melakukan routing atau baris table kita bisa melakukan redirect ke halaman lain dengan cara
import React from 'react
export default function UjiCoba() {
const handleOnClick = () => history.push('/sample');
return (
<button type="button" onClick={handleOnClick}>
Go home
</button>
);
}
Bisa dilihat, kita bisa menggunakan onClick pada button atau element lainnya. Tidak melulu harus menggunakan komponen <Link>
dari react router. Namun, perlu ada beberapa catatan kita tetap harus menggunakan <Link>
daripada onClick dengan history.push
. Misalnya terkait dengan tag element yang mana <Link>
menggunakan tag element <a/>
dan history.push
digunakan saat kita mencoba untuk secara otomatis memindahkan sebuah halaman ke halaman lain. Contoh kasusnya setelah login dialihkan ke halaman dashboard.
Contoh otomasi perpindahan page sebuah event seperti
handleDelete() {
const { match: { params }, history } = this.props;
axios.delete(`/api/users/${params.userId}`)
.then(() => {
history.push('/users');
});
}
Sekiranya, hanya itu saja yang bisa saya bagikan terkait dengan OnClick untuk routing. Semoga membantu ya!