[PR #270] [MERGED] chore(react): replace render method with createRoot #411

Closed
opened 2026-03-02 23:46:23 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/anomalyco/opentui/pull/270
Author: @msmps
Created: 11/5/2025
Status: Merged
Merged: 11/5/2025
Merged by: @msmps

Base: mainHead: chore/rework-react-render-20251105145106


📝 Commits (3)

  • 445fecc feat(renderer): add createRoot function for CLI rendering and deprecate old render method
  • ea6128e refactor(examples): replace deprecated render method with createRoot for CLI rendering
  • 4a4061d refactor(docs): update README to reflect changes in CLI rendering with createRoot and deprecate render method

📊 Changes

11 files changed (+122 additions, -45 deletions)

View changed files

📝 packages/react/README.md (+47 -21)
📝 packages/react/examples/animation.tsx (+4 -3)
📝 packages/react/examples/ascii.tsx (+4 -3)
📝 packages/react/examples/basic.tsx (+4 -3)
📝 packages/react/examples/borders.tsx (+4 -2)
📝 packages/react/examples/box.tsx (+4 -2)
📝 packages/react/examples/counter.tsx (+4 -2)
📝 packages/react/examples/extend-example.tsx (+11 -3)
📝 packages/react/examples/scroll.tsx (+4 -2)
📝 packages/react/examples/text.tsx (+4 -2)
📝 packages/react/src/reconciler/renderer.ts (+32 -2)

📄 Description

Changes

  • Add createRoot function for CLI rendering and deprecate old render method
  • Updated all 9 example files in packages/react/examples/ to use createRoot(renderer).render(<App />)
  • Updated README.md with new API documentation and examples
  • Uses top-level await (Bun supports it) instead of IIFEs

New API Pattern

import { createCliRenderer } from "@opentui/core"
import { createRoot } from "@opentui/react"

const renderer = await createCliRenderer()
createRoot(renderer).render()

The old render() function remains available but is marked as deprecated.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/anomalyco/opentui/pull/270 **Author:** [@msmps](https://github.com/msmps) **Created:** 11/5/2025 **Status:** ✅ Merged **Merged:** 11/5/2025 **Merged by:** [@msmps](https://github.com/msmps) **Base:** `main` ← **Head:** `chore/rework-react-render-20251105145106` --- ### 📝 Commits (3) - [`445fecc`](https://github.com/anomalyco/opentui/commit/445fecc10c7151720938cea3d6c729d39b14d77a) feat(renderer): add createRoot function for CLI rendering and deprecate old render method - [`ea6128e`](https://github.com/anomalyco/opentui/commit/ea6128e34e94c0deaaa4f849f2440f4e687df5d8) refactor(examples): replace deprecated render method with createRoot for CLI rendering - [`4a4061d`](https://github.com/anomalyco/opentui/commit/4a4061d8816bc97d9812a95b7622a2e4e100f413) refactor(docs): update README to reflect changes in CLI rendering with createRoot and deprecate render method ### 📊 Changes **11 files changed** (+122 additions, -45 deletions) <details> <summary>View changed files</summary> 📝 `packages/react/README.md` (+47 -21) 📝 `packages/react/examples/animation.tsx` (+4 -3) 📝 `packages/react/examples/ascii.tsx` (+4 -3) 📝 `packages/react/examples/basic.tsx` (+4 -3) 📝 `packages/react/examples/borders.tsx` (+4 -2) 📝 `packages/react/examples/box.tsx` (+4 -2) 📝 `packages/react/examples/counter.tsx` (+4 -2) 📝 `packages/react/examples/extend-example.tsx` (+11 -3) 📝 `packages/react/examples/scroll.tsx` (+4 -2) 📝 `packages/react/examples/text.tsx` (+4 -2) 📝 `packages/react/src/reconciler/renderer.ts` (+32 -2) </details> ### 📄 Description ### Changes - Add `createRoot` function for CLI rendering and deprecate old render method - Updated all 9 example files in `packages/react/examples/` to use `createRoot(renderer).render(<App />)` - Updated README.md with new API documentation and examples - Uses top-level await (Bun supports it) instead of IIFEs ### New API Pattern import { createCliRenderer } from "@opentui/core" import { createRoot } from "@opentui/react" const renderer = await createCliRenderer() createRoot(renderer).render(<App />) The old `render()` function remains available but is marked as deprecated. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-02 23:46:23 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/opentui#411
No description provided.