In-container Rendering

Use ctx.render() to render content into the current container (ctx.element). It supports the following three forms:

ctx.render()

Rendering JSX

ctx.render(<button>Button</button>);

Rendering DOM Nodes

const div = document.createElement('div');
div.innerHTML = 'Hello World';
ctx.render(div);

Rendering HTML Strings

ctx.render('<h1>Hello World</h1>');

JSX Description

RunJS can render JSX directly. You can use the built-in React/component libraries or load external dependencies on demand.

Using Built-in React and Component Libraries

const { Button } = ctx.libs.antd;

ctx.render(<Button>Click</Button>);

Using External React and Component Libraries

Load specific versions on demand via ctx.importAsync():

const React = await ctx.importAsync('react@19.2.4');
const { Button } = await ctx.importAsync('antd@6.2.2?bundle');

ctx.render(<Button>Click</Button>);

Suitable for scenarios requiring specific versions or third-party components.

ctx.element

Not recommended (deprecated):

ctx.element.innerHTML = '<h1>Hello World</h1>';

Recommended way:

ctx.render(<h1>Hello World</h1>);