温馨提示:本站仅提供公开网络链接索引服务,不存储、不篡改任何第三方内容,所有内容版权归原作者所有
AI智能索引来源:http://www.bun.com/reference/bun/markdown/react
点击访问原文链接

function react | Bun module | Bun

function react | Bun module | BunBuildDocsReferenceGuidesBlogDiscord/Bun/markdown/reactFreact

Search the reference...

/

BuildDocsReferenceGuidesBlogDiscord/Bun/markdown/reactFreact

function

markdown.reactfunction react(input: string | ArrayBufferLike | TypedArrayArrayBufferLike> | DataViewArrayBuffer>,components?: ComponentOverrides,options?: ReactOptions): unknown;

Render markdown to React JSX elements.

Returns a React Fragment containing the parsed markdown as children. Can be returned directly from a component or passed to renderToString().

Override any HTML element with a custom component by passing it in the second argument, keyed by tag name. Custom components receive the same props the default elements would (e.g. href for links, language for code blocks).

Parser options (including reactVersion) are passed as a separate third argument. Uses Symbol.for('react.transitional.element') by default (React 19). Pass reactVersion: 18 for React 18 and older.

@param input

The markdown string or buffer to parse

@param components

Component overrides keyed by HTML tag name

@param options

Parser options and element symbol configuration

@returns

A React Fragment element containing the parsed markdown

// Use directly as a component return value
function Markdown({ text }: { text: string }) {
return Bun.markdown.react(text);
}

// Server-side rendering
import { renderToString } from "react-dom/server";
const html = renderToString(Bun.markdown.react("# Hello **world**"));

// Custom components receive element props
function Code({ language, children }: { language?: string; children: React.ReactNode }) {
return pre data-language={language}>code>{children}code>pre>;
}
function Link({ href, children }: { href: string; children: React.ReactNode }) {
return a href={href} target="_blank">{children}a>;
}
const el = Bun.markdown.react(text, { pre: Code, a: Link });

// For React 18 and older
const el18 = Bun.markdown.react(text, undefined, { reactVersion: 18 });
Referenced typesclass ArrayBuffer

Represents a raw buffer of binary data, which is used to store data for the different typed arrays. ArrayBuffers cannot be read from or written to directly, but can be passed to a typed array or DataView Object to interpret the raw buffer as needed.

readonly [Symbol.toStringTag]: stringreadonly byteLength: number

Read-only. The length of the ArrayBuffer (in bytes).

resize(newByteLength?: number): void;

Resizes the ArrayBuffer to the specified size (in bytes).

MDN

resize(byteLength: number): ArrayBuffer;

Resize an ArrayBuffer in-place.

slice(begin: number,end?: number): ArrayBuffer;

Returns a section of an ArrayBuffer.

transfer(newByteLength?: number): ArrayBuffer;

Creates a new ArrayBuffer with the same byte content as this buffer, then detaches this buffer.

MDN

transferToFixedLength(newByteLength?: number): ArrayBuffer;

Creates a new non-resizable ArrayBuffer with the same byte content as this buffer, then detaches this buffer.

MDN

interface ComponentOverrides

Component overrides for react().

Replace default HTML tags with custom React components. Each override receives the same props the default element would get.

function Code({ language, children }: { language?: string; children: React.ReactNode }) {
return pre data-language={language}>code>{children}code>pre>;
}
Bun.markdown.react(text, { pre: Code });
a?: ComponentLinkProps>blockquote?: ComponentChildrenProps>br?: Component{}>code?: ComponentChildrenProps>del?: ComponentChildrenProps>em?: ComponentChildrenProps>h1?: ComponentHeadingProps>h2?: ComponentHeadingProps>h3?: ComponentHeadingProps>h4?: ComponentHeadingProps>h5?: ComponentHeadingProps>h6?: ComponentHeadingProps>hr?: Component{}>html?: ComponentChildrenProps>img?: ComponentImageProps>li?: ComponentListItemProps>math?: ComponentChildrenProps>ol?: ComponentOrderedListProps>p?: ComponentChildrenProps>pre?: ComponentCodeBlockProps>strong?: ComponentChildrenProps>table?: ComponentChildrenProps>tbody?: ComponentChildrenProps>td?: ComponentCellProps>th?: ComponentCellProps>thead?: ComponentChildrenProps>tr?: ComponentChildrenProps>u?: ComponentChildrenProps>ul?: ComponentChildrenProps>interface ReactOptions

Options for react() — parser options and element symbol configuration.

autolinks?: boolean | { email: boolean; url: boolean; www: boolean }

Enable autolinks. Pass true to enable all autolink types (URL, WWW, email), or an object to enable individually.

// Enable all autolinks
{ autolinks: true }
// Enable only URL and email autolinks
{ autolinks: { url: true, email: true } }
collapseWhitespace?: boolean

Collapse whitespace in text content. Default: false.

hardSoftBreaks?: boolean

Treat soft line breaks as hard line breaks. Default: false.

headings?: boolean | { autolink: boolean; ids: boolean }

Configure heading IDs and autolink headings. Pass true to enable both heading IDs and autolink headings, or an object to configure individually.

// Enable both heading IDs and autolink headings
{ headings: true }
// Enable only heading IDs
{ headings: { ids: true } }
latexMath?: boolean

Enable LaTeX math ($inline$ and $$display$$). Default: false.

noHtmlBlocks?: boolean

Disable HTML blocks. Default: false.

noHtmlSpans?: boolean

Disable inline HTML spans. Default: false.

noIndentedCodeBlocks?: boolean

Disable indented code blocks. Default: false.

permissiveAtxHeaders?: boolean

Allow ATX headers without a space after #. Default: false.

reactVersion?: 18 | 19

Which $$typeof symbol to use on the generated elements.

19 (default): Symbol.for('react.transitional.element')18: Symbol.for('react.element') — use this for React 18 and older
strikethrough?: boolean

Enable GFM strikethrough (~~text~~). Default: true.

tables?: boolean

Enable GFM tables. Default: true.

function react | Bun module | Bun,AI智能索引,全网链接索引,智能导航,网页索引

    API documentation for function bun.markdown.react | Bun