Files
WRNexusJS/packages/react

@wrnexus/react

Opt-in React islands for WRNexusJS: mount npm React components inside server-rendered .wrn pages without adopting React as the framework's rendering model.

Import a .tsx component in a .wrn script block and use it as an element. The compiler emits a data-wrn-island placeholder instead of a server render, and this package's runtime mounts it in the browser with createRoot. Islands are client-only, each mounts inside its own error boundary, and roots are disposed on client-side navigation.

react and react-dom are optional peer dependencies, so apps that use no islands ship no React. A route with no islands still ships zero framework JavaScript.

Use useWrnStore(name, selector?) to read a WRNexus store from inside an island and useWrnActions(name) to write to it. Writes belong in event handlers or effects, never during render.