跳到主要内容

tutorials

开始使用 Presence React

创建应用

使用 Presence,首先需要在控制台创建一个应用,并申请一个 App Key、App Secrit 或者 Public Key,然后在客户端初始化 SDK。

安装

在终端运行如下命令:

npm i @yomo/webtransport-polyfill @yomo/presence @yomo/presence-react

创建客户端

通过 createClient 创建一个客户端,需要传入 publicKeyappKeyappSecret

import { createPresence } from '@yomo/presence';

const presence = createPresence({
publicKey: 'your public key',
// or
// appKey: 'your app key',
// appSecret: 'your app secret',
});

创建 ChannelProvider

通过 createChannelProvider 创建一个 ChannelProvider,需要传入 presence

创建 ./src/presence.config.ts 文件:

import { createChannelProvider } from '@yomo/presence-react';

export const {
ChannelProvider,
usePeers,
useMyState,
useUpdateMyState,
} = createChannelProvider({
presence,
});

使用 ChannelProvider

ChannelProvider 实例创建成功后,我们可以把它作为 React Context Provider 使用。

在项目的根组件外,使用 ChannelProvider 包裹整个应用:

import { ChannelProvider } from './presence.config';

ReactDOM.render(
<ChannelProvider id="channel-id" initialState={initialState}>
<App />
</ChannelProvider>,
document.getElementById('root')
);

其中 id 为 channel ID,initialState 为当前 peer 的初始状态。

获取其他 peers 状态

通过 usePeers 获取其他 peers 状态:

import { usePeers } from './presence.config';

const Peers = () => {
const peers = usePeers();

return (
<ul>
{peers.map(peer => (
<li key={peer.id}>{peer.state}</li>
))}
</ul>
);
};