Berhenti Melakukan Prop Drilling pada Modal React Anda (Gunakan react-call)

BBetter Stack
Computing/SoftwareInternet Technology

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

Key Takeaway

React Call menyederhanakan arsitektur React dengan memungkinkan komponen UI seperti modal dipanggil sebagai promise asinkron, sehingga menghilangkan kompleksitas state global dan prop drilling.

Highlights

  • React Call memungkinkan komponen seperti modal atau dialog dipanggil sebagai fungsi asinkron.

  • Utilitas ini menghilangkan kebutuhan akan variabel state seperti isModalOpen atau prop drilling.

  • Sistem stack internal mengelola perenderan beberapa instance komponen aktif secara otomatis.

  • Fitur upsert memperbarui instance singleton yang ada di layar alih-alih membuat duplikat.

  • Hook useMutationFlow menghubungkan UI callable langsung ke fungsi asinkron dengan pengelolaan state pemuatan otomatis.

  • Pustaka ini menjaga logika bisnis tetap lokal pada pemanggilnya, menyerupai perilaku window.confirm bawaan peramban.

Timeline

Pengenalan Masalah dan Konsep React Call

  • Pengelolaan modal dan dialog tradisional sering menyebabkan kode berantakan karena state terbuka dan prop drilling.
  • React Call mengadopsi model mental API window.confirm untuk memanggil komponen sebagai fungsi asinkron.
  • Pustaka ini mengabstraksi pengelolaan promise dan permintaan tipe data secara langsung.

Pembuatan antarmuka interaktif seperti wizard formulir atau konfirmasi sering kali memerlukan konfigurasi rumit. React Call mengatasi hal ini dengan mengizinkan pengembang menunggu respons dari komponen secara langsung. Hal ini menyederhanakan logika bisnis dengan menjaganya tetap berada di lingkup lokal pemanggil.

Konsep Utama: Root, Stack, dan Singleton

  • Komponen callable menempatkan dirinya sebagai titik pemasangan sendiri di pohon aplikasi.
  • Stack internal secara otomatis menangani perenderan setiap instance aktif dan animasi keluar.
  • Upsert memungkinkan pembaruan data pada instance singleton tanpa menciptakan duplikat di layar.

Arsitektur React Call menggunakan konsep root untuk mendengarkan panggilan komponen. Saat beberapa komponen dipicu, stack mengelola instance tersebut agar tidak saling mengganggu. Fungsi upsert sangat berguna untuk elemen global seperti notifikasi toast atau indikator pemuatan yang hanya membutuhkan satu instance aktif.

Integrasi Mutasi dan Implementasi Praktis

  • Hook useMutationFlow mengelola state tertunda dan spinner pemuatan secara otomatis selama proses asinkron.
  • Penerapan callable hanya memerlukan pembungkusan komponen dengan create callable.
  • Pola ini menghilangkan kebutuhan akan penyedia konteks, Redux, atau Zustand untuk modal sederhana.

Integrasi UI dengan mutasi backend menjadi lebih efisien karena hook bawaan menangani siklus hidup permintaan asinkron. Pengembang cukup membungkus komponen untuk mengubahnya menjadi callable, yang kemudian dapat dipanggil di fungsi klik mana pun. Pendekatan ini secara signifikan mengurangi jumlah boilerplate yang diperlukan dalam proyek React.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video