React
使用预构建的 React 组件将 Docs Embed 添加到你的 React 应用中
步骤
1
npm install @gitbook/embed2
导入 {
GitBookProvider,
GitBookFrame,
} from "@gitbook/embed/react";3
function App() {
return (
<GitBookProvider siteURL="https://docs.company.com">
<YourAppContent />
</GitBookProvider>
);
}4
function App() {
return (
<GitBookProvider siteURL="https://docs.company.com">
<div className="app">
<YourAppContent />
<GitBookFrame
visitor={{
token: 'your-jwt-token', // 可选:用于自适应内容或已认证访问
unsignedClaims: { userId: '123' } // 可选:用于动态表达式的自定义声明
}}
/>
</div>
</GitBookProvider>
);
}5
<GitBookProvider siteURL="https://docs.company.com">
<GitBookFrame
trademark={false}
tabs={['assistant', 'search', 'docs']}
colorScheme="dark"
greeting={{ title: 'Welcome!', subtitle: 'How can I help?' }}
assistantName="Support Copilot"
closeButton={true}
suggestions={['GitBook 是什么?', '我该如何开始?']}
actions={[
{
icon: 'circle-question',
label: '联系支持',
onClick: () => window.open('https://support.example.com', '_blank')
}
]}
tools={[/* ... */]}
visitor={{
token: 'your-jwt-token',
unsignedClaims: { userId: '123' }
}}
/>
</GitBookProvider>6
import { useGitBook } from "@gitbook/embed/react";
function HelpButton() {
const gitbook = useGitBook();
const frameURL = gitbook.getFrameURL({ visitor: { token: '...' } });
const handleNavigate = () => {
const iframe = document.createElement('iframe');
iframe.src = frameURL;
const frame = gitbook.createFrame(iframe);
frame.navigateToPage('/getting-started');
frame.navigateToAssistant();
frame.postUserMessage('我该如何开始?');
};
return <button onClick={handleNavigate}>获取帮助</button>;
}7
function App() {
const [showEmbed, setShowEmbed] = useState(false);
return (
<GitBookProvider siteURL="https://docs.company.com">
<button onClick={() => setShowEmbed(true)}>获取帮助</button>
{showEmbed && <GitBookFrame />}
</GitBookProvider>
);
}8
import dynamic from "next/dynamic";
const GitBookProvider = dynamic(
() => import("@gitbook/embed/react").then((mod) => mod.GitBookProvider),
{ ssr: false }
);
const GitBookFrame = dynamic(
() => import("@gitbook/embed/react").then((mod) => mod.GitBookFrame),
{ ssr: false }
);属性与配置
属性
输入
必填
默认
说明
属性
输入
必填
默认
说明
配置选项
tabs
tabscolorScheme
colorSchemeactions
actionsgreeting
greetingassistantName
assistantNamecloseButton
closeButtonsuggestions
suggestionstrademark
trademarktools
toolsvisitor (已认证访问)
visitor (已认证访问)常见陷阱
最后更新于
这有帮助吗?