区块协议-服务单元
这个软件包为块和嵌入应用程序执行块协议服务模块.
要开始 :
块
创建 ServiceBlockHandler中,将构造器传递到您块中的元素,以及您想要注册的用于处理来信的任何调用.
反应示例
对于反应,我们提供 useServiceBlockModule 钩子,它接受 ref 对一个元素,可选择任意 callbacks 您希望提供初始化服务.
自定义元素
创建一个 ServiceBlockHandler 在你体内。 如果您正在使用我们的模板, 您可以在构建的 Callback 实例法中添加此内容(公升文件),并可供您元素使用.
...
connectedCallback() {
super.connectedCallback();
if (!this.serviceModule || this.serviceModule.destroyed) {
this.serviceModule = new ServiceBlockHandler({
element: this,
});
}
}
retrieveDirections(data) {
if (!this.serviceModule) {
throw new Error("Service module not available");
}
this.serviceModule.mapboxRetrieveDirections(args).then(() => { ... });
}
...
嵌入应用程序
你应该建造一个 ServiceEmbedderHandler 每块.
目前无法用单一的处理器来包裹多个块.
创建 ServiceEmbedderHandler,通过构造器:
- 一个
element包装您的块 callbacks以响应块中的信息
import { ServiceEmbedderHandler } from "@blockprotocol/service";
const serviceModule = new ServiceEmbedderHandler({
callbacks: { ... },
element: elementWrappingTheBlock,
});
反应
对于反应嵌入应用程序,我们提供一个 useServiceEmbedderModule 钩子,它接受 ref ,以及您想要通过的任何附加构造参数.
import { useServiceEmbedderModule } from "@blockprotocol/service";
import { useRef } from "react";
export const App = () => {
const wrappingRef = useRef<HTMLDivElement>(null);
const { serviceModule } = useServiceEmbedderModule(blockRef);
return (
<div ref={wrappingRef}>
<Block />
</div>
);
};