UNPKG

@modern-js/doc-tools-doc

Version:

Website for @modern-js/doc-tools

75 lines (57 loc) 1.73 kB
## NoSSR 用于在服务端渲染时不渲染某些组件。使用方法如下: ```tsx import { NoSSR } from '@modern-js/doc-tools/runtime'; const Component = () => { return ( <NoSSR> <div>这里的内容只会在客户端渲染</div> </NoSSR> ); }; ``` ## Tab/Tabs 你可以在文档中直接使用 Tab/Tabs 组件来实现 tab 切换的效果。比如 ```tsx title="index.mdx" import { Tab, Tabs } from '@modern-js/doc-tools/theme'; function App() { return ( <Tabs> <Tab label="Tab 1">Tab 1 content</Tab> <Tab label="Tab 2">Tab 2 content</Tab> </Tabs> ); } ``` import { Tab, Tabs } from '@theme'; <Tabs> <Tab label="1" value="1"> Tab 1 content </Tab> <Tab label="2" value="2"> Tab 2 content </Tab> </Tabs> :::info 提醒 为了让你更方便地使用这些组件,框架内部对于 `@modern-js/doc-tools/theme` 这个包做了 alias 处理,所以你可以直接使用 `@theme` 来引入这些组件。 ::: 其中 Tabs 组件的 props 类型如下: ```ts interface TabsProps { children: React.ReactNode; defaultValue?: string; groupId?: string; } ``` defaultValue 用于设置默认选中的 tab 项,这个值会和 Tab 组件的 value 字段做比较,如果相等则选中该 tab。 groupId 用于设置 tab 项的分组,当你需要多个 Tabs 组件进行联动的时候,可以通过 groupId 来实现。groupId 相同的 Tabs 组件会进行联动。 Tab 组件的 props 类型如下: ```ts interface TabProps { label: string; // 用于标识当前 tab,如果不传则默认使用 label value?: string; children: React.ReactNode; } ``` 其中的 `value` 字段用于标识当前 tab,如果不传则默认使用 label。