Berhenti Melakukan Prop Drilling pada Modal React Anda (Gunakan react-call)
BBetter Stack
컴퓨터/소프트웨어AI/미래기술
Transcript
00:00:00React baru saja mendapatkan alat baru yang sangat menarik yang benar-benar mengubah cara kita berpikir tentang
00:00:05merender elemen UI interaktif seperti modal, dialog, atau kotak konfirmasi.
00:00:11Namanya adalah React Call.
00:00:13Jika Anda pernah membuat wizard formulir multi-langkah yang kompleks, modal konfirmasi, atau pemilih
00:00:18item di React, Anda sudah tahu bahwa mengelola state terbuka, meneruskan callback sukses, dan
00:00:24menangani promise bisa membuat kode Anda menjadi berantakan.
00:00:28Tetapi React Call dirancang untuk mengatasi masalah ini.
00:00:31Jadi, dalam video hari ini, kita akan melihat React Call, melihat cara kerjanya, dan melihat
00:00:36beberapa contoh kodenya.
00:00:37Ini akan sangat menyenangkan, jadi mari kita mulai.
00:00:44Jadi, apa sebenarnya React Call itu?
00:00:47Yah, ini adalah utilitas ringan yang memungkinkan Anda memanggil komponen React seperti fungsi
00:00:52asinkron.
00:00:53Pikirkan tentang API window.confirm bawaan peramban.
00:00:57Saat Anda memanggilnya, kode Anda benar-benar berhenti sejenak, menunggu pengguna mengklik OK atau batal, dan
00:01:03mengembalikan nilai Boolean secara langsung.
00:01:06Ini menjaga logika bisnis Anda tetap lokal bagi pemanggilnya.
00:01:09Dan React Call membawa model mental intuitif yang sama persis ke dalam dunia React modern.
00:01:16Alih-alih membuat variabel state terpisah seperti isModalOpen, meneruskan prop onClose atau
00:01:22onSubmit, dan menyiapkan penyedia konteks atau portal yang kompleks, Anda cukup menunggu
00:01:29respons komponen tersebut.
00:01:30Di balik layar, ia mengabstraksi pengelolaan promise, menangani permintaan dan respons tipe
00:01:36secara langsung, dan sepenuhnya mendukung hot module replacement, sehingga alur kerja pengembangan Anda tetap
00:01:41cepat.
00:01:42Dan ia membawa tiga konsep utama: root dan stack, upsert, dan mutation flow.
00:01:48Jadi konsep utama pertama adalah root dan stack.
00:01:50Dengan React Call, komponen callable yang Anda buat bukanlah sebuah fungsi.
00:01:54Ia benar-benar bertindak sebagai titik pemasangannya sendiri di pohon aplikasi Anda.
00:01:58Anda menempatkan komponen tersebut sebagai tag root di mana pun yang terlihat, seperti di file aplikasi atau file
00:02:03tata letak tingkat atas, dan ia duduk di sana sebagai pendengar.
00:02:06Saat Anda memicu beberapa panggilan, React Call mengelolanya menggunakan stack internal, dan ia
00:02:11menangani perenderan setiap instance aktif secara otomatis.
00:02:14Ia juga menangani animasi keluar yang bersih saat ditutup dan menjaga instance tetap terisolasi sehingga
00:02:20mereka tidak saling mengganggu.
00:02:22Selanjutnya adalah upsert, yang sangat membantu untuk pola UI singleton.
00:02:27Biasanya, jika Anda memanggil komponen beberapa kali, ia akan memasukkan instance baru ke dalam stack.
00:02:33Tetapi bagaimana jika Anda membuat toast notifikasi global, atau overlay pemuatan, atau indikator
00:02:39kemajuan di mana Anda hanya ingin satu instance di layar pada satu waktu?
00:02:45Nah, alih-alih mengeksekusi call, Anda bisa mengeksekusi upsert.
00:02:48Dan jika sebuah instance sudah aktif, ia akan memperbarui komponen yang ada dengan data baru Anda
00:02:52dengan cepat, alih-alih membuat duplikat.
00:02:56Dan terakhir, kita memiliki mutation flow.
00:02:58Pustaka ini mencakup hook useMutationFlow bawaan yang dirancang khusus untuk menghubungkan UI
00:03:04callable Anda langsung ke tindakan asinkron.
00:03:06Jika Anda memiliki modal konfirmasi yang memicu permintaan API backend yang berat saat dikirimkan, hook
00:03:12ini mengelola state tertunda untuk Anda secara langsung.
00:03:15Hook ini memastikan modal tetap terbuka dan menampilkan spinner pemuatan saat fungsi asinkron berjalan
00:03:21dan hanya mengakhiri panggilan secara resmi setelah promise berhasil diselesaikan.
00:03:25Jadi, ini menjembatani state UI dan mutasi data Anda dengan indah.
00:03:29Sekarang mari kita lihat beberapa contoh praktis di situs web mereka, karena menurut saya itu sangat
00:03:34menjelaskan diri sendiri.
00:03:36Dan menurut saya, contoh-contoh tersebut juga menunjukkan betapa sedikit kode yang sebenarnya perlu Anda tulis.
00:03:41Jadi, misalnya, pada dialog konfirmasi, kita hanya perlu membuat callable di sini.
00:03:48Dan kemudian kita membungkus komponen kita sebagai komponen tingkat tinggi dengan hook create callable ini.
00:03:54Dan kemudian kita bisa meneruskan fungsi call untuk tombol kita saat diklik.
00:04:01Dan itu semua yang kita butuhkan untuk objek callable.
00:04:04Dan di root, kita hanya perlu mengimpor komponen itu sendiri.
00:04:08Dan untuk tombol hapus, karena komponen konfirmasi kita dibungkus dengan fungsi tingkat tinggi
00:04:14create callable, kita bisa dengan mudah memanggilnya secara asinkron pada fungsi handle click ini.
00:04:21Jadi sangat rapi, tidak banyak boilerplate.
00:04:26Dan Anda tidak perlu menggunakan penyedia konteks atau variabel state atau redux atau zustand.
00:04:31Dan jika Anda ingin menggali lebih dalam, ada berapa banyak kasus penggunaan, Anda bisa memeriksa bagian
00:04:36contoh dan setiap contoh juga menyediakan cuplikan kode.
00:04:40Beberapa di antaranya bahkan sangat kompleks, seperti contoh yang berhubungan dengan tindakan asinkron
00:04:46yang berjalan di latar belakang.
00:04:49Jadi Anda bisa memeriksa semua contoh keren ini.
00:04:52Menurut saya ini sangat keren dan sangat ringan.
00:04:55Kerja bagus.
00:04:56Jadi begitulah, teman-teman.
00:04:57Itulah React Call secara singkat.
00:04:59Yah, Anda tentu bisa membuat wrapper promise kustom dasar atau modal tunggal sendiri.
00:05:06Saya pikir pustaka ini menangani semua kasus tepi yang sulit dengan indah, seperti menangani beberapa
00:05:11instance aktif dalam stack atau memperbarui singleton melalui upsert dan menyinkronkan state UI dengan mutasi
00:05:17backend yang berat.
00:05:18Jadi menurut saya, ini adalah utilitas ringan yang sangat bagus untuk disimpan dalam toolkit frontend Anda demi arsitektur React yang lebih bersih
00:05:24dan lebih mudah dibaca.
00:05:26Apa pendapat Anda tentang React Call?
00:05:28Apakah Anda menyukai pola ini?
00:05:29Apakah Anda akan menggunakannya dalam proyek Anda?
00:05:31Beri tahu kami di bagian komentar di bawah.
00:05:33Dan teman-teman, jika Anda menyukai jenis perincian teknis ini, tolong beri tahu saya dengan menekan
00:05:37tombol suka di bawah video.
00:05:39Dan juga jangan lupa untuk berlangganan saluran kami.
00:05:42Ini Andrus dari BetterStack, dan sampai jumpa di video berikutnya.
00:05:58anda
Community Posts
No posts yet. Be the first to write about this video!
Write about this video