Context - Ngữ cảnh
Trong NocoBase, Context (ngữ cảnh) là cầu nối giữa code Plugin và các năng lực của NocoBase. Thông qua context, bạn có thể gửi request, làm i18n, ghi log, điều hướng trang, v.v.
Context có hai lối truy cập:
- Trong Plugin:
this.context - Trong component React:
useFlowContext()(import từ@nocobase/flow-engine)
Cả hai đều trả về cùng một đối tượng (instance FlowEngineContext), chỉ khác ở tình huống sử dụng.
Sử dụng trong Plugin
Trong các phương thức vòng đời như load() của Plugin, truy cập thông qua this.context:
Sử dụng trong component
Trong component React, lấy cùng một đối tượng context thông qua useFlowContext():
Thuộc tính tắt của Plugin so với thuộc tính ctx
Lớp Plugin cung cấp một số thuộc tính tắt để tiện sử dụng trong load(). Tuy nhiên cần lưu ý, một số thuộc tính tắt của lớp Plugin và thuộc tính cùng tên trên ctx trỏ đến những thứ khác nhau:
Trong đó dễ nhầm lẫn nhất là this.router và ctx.router:
this.router(thuộc tính tắt của Plugin) → RouterManager, dùng để đăng ký route (.add())ctx.router(thuộc tính của context) → instance React Router, dùng để điều hướng trang (.navigate())
Các năng lực phổ biến mà context cung cấp
Dưới đây liệt kê các năng lực context phổ biến, tuy nhiên có một số chỉ dùng được trong Plugin, một số chỉ dùng được trong component, một số có cả hai bên nhưng cách viết khác nhau.
Cách dùng chi tiết và ví dụ code của mỗi năng lực xem tại Năng lực phổ biến.
Liên kết liên quan
- Năng lực phổ biến — Cách dùng chi tiết của ctx.api, ctx.t, ctx.logger, v.v.
- Plugin — Lối vào và thuộc tính tắt của Plugin
- Phát triển Component — Cách dùng cơ bản của useFlowContext trong component

