惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
博客园 - 叶小钗
The Cloudflare Blog
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
小众软件
小众软件
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享

Mintlify Blog

22 UX improvements to the web editor Introducing the Mintlify Help Center Starter Kit Introducing the collaborative editor built for teams and agents Workflows, rebuilt Is your documentation agent-ready? Mintlify raises $45M Series B led by Andreessen Horowitz and Salesforce Ventures 5 things you didn't know you could do in the Mintlify web editor The improved Mintlify CLI Docs on autopilot: From zero to self-maintaining with Mintlify The state of agent traffic in documentation (March 2026) How we built a virtual filesystem for our Assistant We Replaced Our Internal Wiki With a Slack Bot. You Should Too. 8 ways teams use Mintlify to keep docs updated automatically Documentation is your AI interface What three years of watching AI in production taught us AI agents are shipping faster than anyone can document Knowledge management systems for technical teams Workflows: Automate documentation maintenance Mintlify acquires Helicone to redefine AI knowledge infrastructure Why more product managers are switching to Mintlify Auto-generating documentation sites from GitHub repos Your docs, your frontend, our content engine Take control of your documentation system Almost half your docs traffic is AI, time to understand the agent experience @mintlify for better docs, faster Mintlify for Enterprise Real llms.txt examples from leading tech companies (and what they got right) Mintlify + Claude Opus 4.6: Powering AI-native knowledge management Declaring Clankruptcy: An experiment in agent orchestration Analytics for AI and agent traffic
Bridging two JSX runtimes: How we solved Astro's React ch...
Kyle Finken · 2026-03-10 · via Mintlify Blog

We built Mintlify so teams could ship great developer docs without having to think about infrastructure. For most, our model works extremely well.

But over the past year, a different pattern started to show up in conversations with some of our largest customers. Some wanted to embed docs directly inside their developer console. Others wanted a fully custom UI with their own layouts, and design system. Across all of them, the request was basically the same: keep Mintlify's content engine and AI features, but let us own the frontend.

So we built an Astro integration.

The goal was straightforward, let teams own their frontend while Mintlify continues to handle the content layer underneath.

With the integration, Mintlify content syncs into Astro content collections at build time. Teams can build their docs experience however they want in Astro, while still using Mintlify for content management, search, and AI-powered features.

The content pipeline came together quickly. The harder problem was rendering our React component library correctly inside Astro's MDX pipeline.

Any compound component broke silently on hydration.

<Tabs>, <Accordion>, and <CodeGroup> would all render the parent, but the children would disappear.

Simple components like badges or callouts were fine. But anything compound, where the parent needs to understand and manage its children, failed.

Astro compiles MDX using its own JSX runtime. That is part of what makes it fast. You get static HTML at build time, and no framework gets shipped to the client unless you explicitly opt into hydration.

When you add client:load to a React component, Astro hydrates that component on the client. The issue is what happens to its children.

By the time React receives a <Tabs> component, Astro has already compiled its <Tab> children into Astro nodes. They are no longer real React elements, which means React cannot inspect them, pass props through them, or re-render them correctly when state changes.

That is fine for static content. It is a dealbreaker for components like <Tabs>, where the parent needs real React children to drive interactivity.

Astro does have an experimentalReactChildren flag that preserves React elements across that boundary. But it only works in .astro files, not in MDX. Since our entire content pipeline runs through MDX, that path was closed to us.

If we could not control how Astro compiled those children, we needed to make sure Astro never saw them in the first place.

Our integration hooks into astro:config:setup, which runs before Astro's MDX compiler. At that point, we parse every page into a markdown AST and walk the tree looking for compound components.

When we find one, we extract the entire subtree from the raw MDX source. The parent, and all of its children together.

We then compile that extracted MDX independently. That gives us a self-contained React module where both the parent and children stay entirely inside React's JSX runtime. We write that out to a JSX file.

Back in the original AST, we replace the compound component with a childless wrapper that imports the extracted module and hydrates it with client:load.

So instead of asking Astro and React to share ownership of the same component tree, we give the whole interactive subtree to React and let Astro handle the rest.

Teams can now own their entire frontend stack while Mintlify continues to handle the content layer underneath. Page content, navigation, snippets, and static assets all sync at build time. Search and AI features carry through.

None of this affects docs authoring. Use the same <Tabs>, <Accordion>, and other components exactly as you would in Mintlify today. The extraction happens before Astro ever sees the page.

The integration is generally available. If you've hit the same wall with compound React components in Astro MDX, the pipeline is open sourced. To build a fully custom docs frontend on top of Mintlify's content engine, check out the integration, start from the starter template, or reach out to our team.