Pengembangan Component
Di NocoBase, Component halaman yang di-mount oleh route adalah Component React biasa. Anda dapat langsung menggunakan React + Antd untuk menulisnya, tidak ada bedanya dengan pengembangan front-end biasa.
NocoBase secara tambahan menyediakan:
observable+observer— Cara manajemen status yang direkomendasikan, lebih cocok untuk ekosistem NocoBase daripadauseStateuseFlowContext()— Mendapatkan kapabilitas konteks NocoBase (membuat request, internasionalisasi, navigasi route, dll.)
Cara Penulisan Dasar
Component halaman paling sederhana:
Setelah ditulis, daftarkan dengan this.router.add() di load() plugin, untuk detail lihat Router.
Manajemen Status: observable
NocoBase merekomendasikan menggunakan observable + observer untuk mengelola status Component, bukan useState React. Manfaatnya:
- Memodifikasi property objek secara langsung dapat memicu update, tidak perlu
setState - Pengumpulan dependensi otomatis, Component hanya re-render saat property yang digunakan berubah
- Konsisten dengan mekanisme reaktif lapisan dasar NocoBase (FlowModel, FlowContext, dll.)
Penggunaan dasar: gunakan observable.deep() untuk membuat objek reaktif, gunakan observer() untuk membungkus Component. observable dan observer keduanya di-import dari @nocobase/flow-engine:
Preview tampilan:
Untuk lebih banyak penggunaan lihat Mekanisme Reaktif Observable.
Menggunakan useFlowContext
useFlowContext() adalah entry point untuk menghubungkan kapabilitas NocoBase. Di-import dari @nocobase/flow-engine, mengembalikan objek ctx:
Berikut adalah contoh kapabilitas umum.
Membuat Request
Memanggil API backend melalui ctx.api.request(), penggunaan sama dengan Axios:
Internasionalisasi
Mendapatkan teks terjemahan melalui ctx.t():
Navigasi Route
Melakukan navigasi halaman melalui ctx.router.navigate():
Mendapatkan parameter route saat ini:
Mendapatkan nama route saat ini:
Untuk lebih banyak level log dan penggunaan lihat Context → Kapabilitas Umum.
Contoh Lengkap
Menggabungkan observable, useFlowContext, dan Antd, Component halaman yang mengambil data dari backend dan menampilkan:
Selanjutnya
- Kapabilitas lengkap yang disediakan
useFlowContext— lihat Context - Style Component dan kustomisasi tema — lihat Styles & Themes
- Jika Component Anda perlu muncul di menu "Tambah Block / Field / Action" NocoBase, mendukung konfigurasi visual oleh pengguna, perlu menggunakan FlowModel untuk membungkusnya — lihat FlowEngine
- Tidak yakin menggunakan Component atau FlowModel? — lihat Component vs FlowModel
Tautan Terkait
- Router — Mendaftarkan route halaman, mount Component ke URL
- Context — Pengantar lengkap kapabilitas useFlowContext
- Styles & Themes — createStyles, theme token, dll.
- FlowEngine — Menggunakan FlowModel saat perlu konfigurasi visual
- Mekanisme Reaktif Observable — Manajemen status reaktif FlowEngine
- Context → Kapabilitas Umum — ctx.api, ctx.t, dan kapabilitas bawaan lainnya
- Component vs FlowModel — Memilih Component atau FlowModel

