ctx.render()
Render React element, chuỗi HTML hoặc DOM node vào container chỉ định. Khi không truyền container, mặc định render vào ctx.element và tự động kế thừa ConfigProvider, theme và các ngữ cảnh khác của ứng dụng.
Kịch bản áp dụng
Lưu ý:
ctx.render()cần container render. Nếu không truyềncontainervàctx.elementkhông tồn tại (như trong kịch bản logic thuần không có UI), sẽ ném lỗi.
Định nghĩa kiểu
Giá trị trả về:
- Khi render React element: trả về
ReactDOMClient.Root, tiện cho việc gọiroot.render()để cập nhật sau đó - Khi render chuỗi HTML hoặc DOM node: trả về
null
Giải thích về kiểu vnode
Ví dụ
Render React element (JSX)
Render chuỗi HTML
Render DOM node
Chỉ định container tùy chỉnh
Gọi nhiều lần sẽ thay thế nội dung
Lưu ý
- Gọi nhiều lần sẽ thay thế: Mỗi lần
ctx.render()sẽ thay thế nội dung hiện có trong container, không append. - An toàn chuỗi HTML: HTML truyền vào sẽ được DOMPurify làm sạch, giảm rủi ro XSS, nhưng vẫn khuyến nghị tránh nối input không tin cậy của người dùng.
- Không thao tác trực tiếp ctx.element:
ctx.element.innerHTMLđã deprecated, nên sử dụng đồng nhấtctx.render(). - Khi không có container cần truyền container: Trong kịch bản
ctx.elementlàundefined(như trong module được tải bởictx.importAsync), cần truyềncontainerrõ ràng.
Liên quan
- ctx.element - Container render mặc định, sử dụng khi
ctx.render()không truyền container - ctx.libs - Thư viện có sẵn như React, antd, dùng cho render JSX
- ctx.importAsync() - Sau khi tải React/thư viện component bên ngoài theo nhu cầu, dùng kết hợp với
ctx.render()

