ReboFiles文档
开始3
什么是 ReboFiles
快速开始
可运行的演示
集成到你的应用6
React 组件
Headless:你自己的界面
不使用框架
样式与主题
键盘与无障碍
语言
文件9
上传
预览与查看器
搜索
实时更改与大文件夹
评论
星标与字段
版本、回收站与空间
打包下载 .zip
Word 文档
服务器14
路由
框架与登录
谁可以做什么
存储:S3、GCS、Azure 与磁盘
检查上传
元数据:SQLite 与 Postgres
数据库结构
共享与链接
动态与通知
钩子、日志与限制
保留、法律保留与导出
桌面端与其他来源
同步文件夹
上线生产环境
协作1
AI 助手(MCP)
参考5
包
组件与 hooks
客户端 API
HTTP 路由
状态与路线图
↑↓ 移动↵ 打开Esc 关闭38 个页面

参考 组件与 hooks

组件与 hooks

React 应用所需的一切都在这一个包中;它与不使用框架的网盘共享的部分也从这里导出。
全部

导出

名称说明
FileDrive完整的网盘。
SharedLink收到链接的人无需登录即可看到的内容。
createMemoryClient保存在页面中的网盘,提供与服务器路由相同的客户端。
createDriveClient, createLinkClient来自 @rebofiles/drive 的客户端。
RequestError服务器拒绝的请求:状态码、代码和消息。
TEXTS, formatSize, formatDate, formatDuration, kindOf文字,以及描述文件的辅助函数。
@rebofiles/react/rebodocspreviewDocx、viewDocx、thumbDocx、pictureOfDocx、textOfDocx:由 Rebodocs 引擎处理的 Word 文档。
Hooks

Hooks

HookWhat it does
DriveProvider客户端与文字,供其下的每个 hook 使用。 base、client、headers、language、texts、live;放在其中的 <FileDrive> 也使用相同的设置。他人更改网盘时,每个 hook 都会重新获取。
useEntries一个文件夹、最近、星标、通过请求收到的文件、与我共享、回收站,或一次搜索。 entries、path、loading、error、refresh:每次改动后重新获取。
useEntry某个条目的当前状态及其位置。 entry、path、trashed;加载中或不存在时为 null。
useActions修改网盘的操作,完成后通知每个 hook。 createFolder、rename、move、moveToTrash、restore、deleteForever、emptyTrash、restoreVersion、copy、star、setColor、setFields、review、share、unshare、createLink、removeLink、linkToken、upload、url。
useUploads正在上传的文件,同时三个,每个都有剩余时间。 uploads、summary、upload、retry、stop、stopAll、decide、dismiss、clear;{ check: true } 会询问如何处理已存在的文件。
useSettings网盘的设置和个人设置。 settings、drive、mine、canConfigure、save、saveMine。
useComments某个条目的评论,以及发表新评论。 comments、loading、error、add、edit、resolve、remove。
useActivity谁对某个条目做了什么,最新的在前。 activity、loading、error;useActivity(id, limit?)。
useTextSearch内容中包含这些文字的文件,每个附带一段文本。 results(entry、snippet)、loading、error;查询为空时无结果。
useNotifications发给当前用户的通知,以及新通知的数量。 notifications、unseen、loading、error、saw()。
useRequests自己发出的文件请求。 requests(folder、link、token)、loading、error、remind(folder, link)。
useExpiring字段 expires 在若干天内到期或已过期的文件,最近的在前。 files(entry、expires、days)、loading、error;useExpiring(days?),默认 15 天。
useWithField某字段等于此值的条目:你某条记录的文件。 entries、loading、error;没有值时为空。
usePeople来自你的目录、与输入内容匹配的人,用于共享。 people、loading、error;输入为空时无人。
useDriveprovider 本身。 client、revision、changed()、t、locale、settings:以函数形式提供的每条路由、每次变更后递增的数字,以及网盘的文字。用于没有专门 hook 的功能。
属性

<FileDrive> 的全部属性

属性TypeWhat it does
basestring@rebofiles/server 的路由所在位置。默认为 /api/files。
clientDriveClient用你自己的客户端代替 base:保存在页面中的网盘(createMemoryClient),或与页面其他部分共用的客户端。
headers() => Record<string, string>发往你服务器的每个请求都带上的请求头,例如会话令牌;绝不会发送到存储桶。可以是异步函数。
linkAddress(token) => string网盘链接指向的地址:你放置 <SharedLink> 的页面。默认为本页加 ?link=。
settingsboolean设为 false 时不显示设置界面及打开它的按钮。
language'en' | 'es' | 'zh'低于每个人自己的选择,高于网盘的设置。默认为英文。
textsTexts另一种语言的文字,键与 TEXTS.en 相同。
theme'light' | 'dark' | 'auto'低于每个人自己的选择,高于网盘的设置。auto 跟随系统。
titlestring显示在网盘上方的名称:你的应用名,或 “Files”。
defaultView'list' | 'grid'首次显示文件夹时使用的视图。
layout'full' | 'compact'compact:左侧没有侧栏,“新建”和各个位置排成一条放在列表上方,适合放在页面中较小的区域。
classNamestring加在 .rf-drive 上的自定义类名,用于设置它的自定义属性。
chromeboolean设为 false 时去掉其顶栏和分区,由你的应用放置自己的:用 go、search、upload、newFolder、requestFiles、share、openSettings 控制它。
rootEntryId云盘保持在其中的文件夹,如你的某条记录的文件:从这里开始,路径从这里开始,不会去到其上层。
onState(state) => void每次变化时告知所处位置:分区、文件夹及路径、搜索内容、数量和空间,供你自己的栏使用。
controlsRefObject<DriveControls>React:在其存在期间放入云盘的 go、search、upload、newFolder、requestFiles、share 和 openSettings。
checkUploadsboolean设为 false 时上传前不在网盘中查找相同文件或同名文件:名称冲突时自动加上 “(2)”。
requestTemplatesboolean设为 false 时不提供请求模板:既不能从模板开始,也不能存为模板。
qrboolean设为 false 时不显示已创建请求的二维码。
onOpen(file, url) => void双击或按 Enter 打开文件时,按你自己的方式处理。未提供时由网盘的查看器显示。
fields'show' | 'edit' | false应用在条目上的字段,显示在详情中:显示(默认)、由有重命名权限的人在详情中修改(edit),或不显示。
previewDocument(bytes) => DocumentPreview.docx 的详情:标题和开头几段。previewDocx。
viewDocument(element, bytes) => ShownDocument.docx 的查看器:逐页或全部显示,带 Rebodocs 的缩放和打印。viewDocx。
thumbDocument(bytes) => Promise<HTMLElement>在网格中绘制其第一页,直到生成它的图片为止。thumbDocx。
pictureDocument(bytes, size, type, quality) => Promise<Blob>将第一页生成为图片,在上传时制作,并按网盘的尺寸保存为缩略图。pictureOfDocx。
textDocument(bytes) => string文档中的文字,在上传时发送,供搜索使用。textOfDocx。
onOpenDocument(file, url) => void为 .docx 添加“在 Rebodocs 中打开”按钮,调用时会传入读取它的地址。
compareDocument(element, before, after) => ShownDocument在历史中为当前版本以外的每个版本提供“比较”:在页面上显示变化。compareDocx。
newDocument() => Uint8Array“上传”菜单中的“新建文档”:在当前文件夹中创建一个由用户命名的空 .docx,然后打开。newDocx。
onChange() => void每次在网盘中做出改动后调用,供页面中其他显示这些内容的部分更新(mountDrive;在 React 中由 provider 通知各个 hooks)。
liveboolean实时显示他人所做的更改,来自服务器的 /events。默认为 true;在 React 中由 provider 决定。

按用途分类并附示例:React 组件。