ctx.libs
ctx.libs adalah namespace terpadu library bawaan RunJS, berisi library umum seperti React, Ant Design, dayjs, lodash. Tidak perlu import atau loading async, dapat langsung digunakan melalui ctx.libs.xxx.
Skenario Penggunaan
Daftar Library Bawaan
Alias Tingkat Atas
Untuk kompatibilitas dengan kode historis, sebagian library juga diekspos di tingkat atas: ctx.React, ctx.ReactDOM, ctx.antd, ctx.dayjs. Direkomendasikan menggunakan ctx.libs.xxx secara seragam, untuk pemeliharaan dan pencarian dokumentasi yang lebih mudah.
Lazy Loading
lodash, formula, math, dll. menggunakan lazy loading: saat pertama kali mengakses ctx.libs.lodash baru memicu dynamic import, kemudian menggunakan cache. React, antd, dayjs, antdIcons sudah pre-set oleh konteks, langsung dapat digunakan saat diakses.
Contoh
Render React dan Ant Design
Menggunakan Hooks
Menggunakan Ikon
Pengolahan Tanggal dayjs
Function Utility lodash
Kalkulasi Formula formula
Ekspresi Matematika math
Hal yang Perlu Diperhatikan
- Mencampur dengan ctx.importAsync: jika memuat React eksternal melalui
ctx.importAsync('react@19'), JSX akan menggunakan instance tersebut; saat ini jangan dicampur denganctx.libs.antd, antd perlu dimuat sesuai dengan versi React tersebut (sepertictx.importAsync('antd@5.x'),ctx.importAsync('@ant-design/icons@5.x')). - Multiple instance React: jika muncul "Invalid hook call" atau hook dispatcher null, biasanya disebabkan oleh multiple instance React. Sebelum membaca
ctx.libs.Reactatau memanggil Hooks, jalankanawait ctx.importAsync('react@versi')terlebih dahulu untuk memastikan menggunakan React yang sama dengan halaman.
Terkait
- ctx.importAsync() - Memuat modul ESM eksternal sesuai kebutuhan (seperti React, Vue versi tertentu)
- ctx.render() - Merender konten ke container

