Skip to main content
If a React component that you wrote yourself appears a moment after the rest of a Mintlify page loads, or its content is missing when you view the page source, this is expected behavior. Mintlify renders custom components only in the browser.

Why custom components are not in the initial HTML

Custom components run only in the browser. The server-rendered HTML leaves out components you define with export in an MDX file and components you import by name from a snippet, such as import { MyComponent } from "/snippets/my-component.jsx". After the page loads, the browser renders those components in place. MDX snippets that you import as content, such as import MySnippet from "/snippets/my-snippet.mdx", render on the server like the rest of the page. As a result:
  • The page source and the initial HTML do not include the component’s content.
  • Visitors may see the component pop in or shift the layout after the rest of the page appears.
  • Search engines may not fully index the component’s content.

Use built-in components for content that must render on the server

Most built-in components, including the ones below, render on the server and appear in the initial HTML. If you use a custom component for layout or static content, replace it with a built-in component or an MDX snippet. For example: Keep custom components for interactive elements that need state or browser APIs. See React components for how to build them and other considerations.