Function createLiveReact

  • 创建 LiveReact 实例,并提供 React 技术栈相关工具链。

    Type Parameters

    • KeyframesSnapshot extends Record<string, any>

    Parameters

    Returns {
        LiveProvider: ((props: LiveProviderPropTypes<KeyframesSnapshot>) => Element);
        jsBridge: JSBridgeProtocol;
        live: Live<KeyframesSnapshot>;
        unsafe__useLiveInstance: (() => Live<KeyframesSnapshot>);
        unsafe__useRTCInstance: (() => RTCProtocol);
        useConnect: (() => ((options: LiveConnectOptions) => Promise<boolean | Error>));
        useKeyframe: (<K>(key: K) => CallbackType);
        useKeyframeUpdateCallback: (<KeyOfKeyframe>(key: KeyOfKeyframe, callback: ((...args: Parameters<KeyframeTypes<KeyframesSnapshot>[KeyOfKeyframe]>) => ReturnType<KeyframeTypes<KeyframesSnapshot>[KeyOfKeyframe]>), deps?: DependencyList) => (() => void));
        useKeyframesSnapshot: (() => Partial<KeyframesSnapshot>);
        useLiveAction: (() => {
            broadcast: ((data: Record<string, any>, toUserIds: string | string[], timeout?: number) => Promise<unknown>);
            connect: ((options: LiveConnectOptions) => Promise<boolean | Error>);
            exit: (() => Promise<void>);
            forbidMicro: ((micro: MicroStatus, toUserIds?: string | string[]) => Promise<boolean>);
            forbidSync: ((sync: boolean, toUserIds?: string | string[]) => Promise<boolean>);
            getFramesByKey: ((key: keyof KeyframesSnapshot) => undefined | Partial<KeyframesSnapshot>[keyof KeyframesSnapshot]);
            kick: ((toUserIds: string | string[]) => Promise<boolean>);
            sendKeyframe: ((key: keyof KeyframesSnapshot, frame: KeyframesSnapshot[keyof KeyframesSnapshot]) => boolean | Error);
            setSelfInfo: ((userInfo: Partial<UserInfo>) => Promise<boolean>);
            toggleMicro: ((microStatus: boolean) => Promise<boolean>);
            updateStatus: ((evtType: BuiltinEventType, atnType: BuiltinActionType, status: Record<string, any>, toUserIds?: string | string[]) => Promise<boolean>);
        });
        useLiveEventCallback: (<K>(name: K, callback: ((...args: Parameters<LiveEventType<KeyframesSnapshot>[K]>) => ReturnType<LiveEventType<KeyframesSnapshot>[K]>), deps?: DependencyList) => (() => void));
        useLiveState: (() => LiveState);
        useRTCAction: (() => {
            detectMicro: (() => Promise<boolean>);
            join: ((options: {
                roomId: string;
                type: RTCType;
                userId: string;
                voiceId: string;
            }) => Promise<boolean>);
            quit: (() => Promise<boolean>);
            shock: (() => undefined | void);
            toggleMicro: ((flag?: boolean) => Promise<boolean>);
        });
        useRTCEventCallback: (<K>(name: K, callback: ((...args: Parameters<RTCEventType[K]>) => ReturnType<RTCEventType[K]>), deps?: DependencyList) => (() => void));
        useSelfInfo: (() => CallbackType);
        useUserList: (() => UserInfo[]);
    }

    • LiveProvider: ((props: LiveProviderPropTypes<KeyframesSnapshot>) => Element)
    • jsBridge: JSBridgeProtocol
    • live: Live<KeyframesSnapshot>
    • unsafe__useLiveInstance: (() => Live<KeyframesSnapshot>)
        • (): Live<KeyframesSnapshot>
        • 不建议这样使用

          Deprecated

          Returns

          Returns Live<KeyframesSnapshot>

    • unsafe__useRTCInstance: (() => RTCProtocol)
    • useConnect: (() => ((options: LiveConnectOptions) => Promise<boolean | Error>))
    • useKeyframe: (<K>(key: K) => CallbackType)
        • <K>(key: K): CallbackType
        • Type Parameters

          • K extends string | number | symbol

          Parameters

          • key: K

          Returns CallbackType

    • useKeyframeUpdateCallback: (<KeyOfKeyframe>(key: KeyOfKeyframe, callback: ((...args: Parameters<KeyframeTypes<KeyframesSnapshot>[KeyOfKeyframe]>) => ReturnType<KeyframeTypes<KeyframesSnapshot>[KeyOfKeyframe]>), deps?: DependencyList) => (() => void))
        • <KeyOfKeyframe>(key: KeyOfKeyframe, callback: ((...args: Parameters<KeyframeTypes<KeyframesSnapshot>[KeyOfKeyframe]>) => ReturnType<KeyframeTypes<KeyframesSnapshot>[KeyOfKeyframe]>), deps?: DependencyList): (() => void)
        • Returns

          Type Parameters

          • KeyOfKeyframe extends string | number | symbol

          Parameters

          • key: KeyOfKeyframe
          • callback: ((...args: Parameters<KeyframeTypes<KeyframesSnapshot>[KeyOfKeyframe]>) => ReturnType<KeyframeTypes<KeyframesSnapshot>[KeyOfKeyframe]>)
              • (...args: Parameters<KeyframeTypes<KeyframesSnapshot>[KeyOfKeyframe]>): ReturnType<KeyframeTypes<KeyframesSnapshot>[KeyOfKeyframe]>
              • Parameters

                • Rest ...args: Parameters<KeyframeTypes<KeyframesSnapshot>[KeyOfKeyframe]>

                Returns ReturnType<KeyframeTypes<KeyframesSnapshot>[KeyOfKeyframe]>

          • deps: DependencyList = []

          Returns (() => void)

            • (): void
            • Returns void

    • useKeyframesSnapshot: (() => Partial<KeyframesSnapshot>)
        • (): Partial<KeyframesSnapshot>
        • Returns Partial<KeyframesSnapshot>

    • useLiveAction: (() => {
          broadcast: ((data: Record<string, any>, toUserIds: string | string[], timeout?: number) => Promise<unknown>);
          connect: ((options: LiveConnectOptions) => Promise<boolean | Error>);
          exit: (() => Promise<void>);
          forbidMicro: ((micro: MicroStatus, toUserIds?: string | string[]) => Promise<boolean>);
          forbidSync: ((sync: boolean, toUserIds?: string | string[]) => Promise<boolean>);
          getFramesByKey: ((key: keyof KeyframesSnapshot) => undefined | Partial<KeyframesSnapshot>[keyof KeyframesSnapshot]);
          kick: ((toUserIds: string | string[]) => Promise<boolean>);
          sendKeyframe: ((key: keyof KeyframesSnapshot, frame: KeyframesSnapshot[keyof KeyframesSnapshot]) => boolean | Error);
          setSelfInfo: ((userInfo: Partial<UserInfo>) => Promise<boolean>);
          toggleMicro: ((microStatus: boolean) => Promise<boolean>);
          updateStatus: ((evtType: BuiltinEventType, atnType: BuiltinActionType, status: Record<string, any>, toUserIds?: string | string[]) => Promise<boolean>);
      })
        • (): {
              broadcast: ((data: Record<string, any>, toUserIds: string | string[], timeout?: number) => Promise<unknown>);
              connect: ((options: LiveConnectOptions) => Promise<boolean | Error>);
              exit: (() => Promise<void>);
              forbidMicro: ((micro: MicroStatus, toUserIds?: string | string[]) => Promise<boolean>);
              forbidSync: ((sync: boolean, toUserIds?: string | string[]) => Promise<boolean>);
              getFramesByKey: ((key: keyof KeyframesSnapshot) => undefined | Partial<KeyframesSnapshot>[keyof KeyframesSnapshot]);
              kick: ((toUserIds: string | string[]) => Promise<boolean>);
              sendKeyframe: ((key: keyof KeyframesSnapshot, frame: KeyframesSnapshot[keyof KeyframesSnapshot]) => boolean | Error);
              setSelfInfo: ((userInfo: Partial<UserInfo>) => Promise<boolean>);
              toggleMicro: ((microStatus: boolean) => Promise<boolean>);
              updateStatus: ((evtType: BuiltinEventType, atnType: BuiltinActionType, status: Record<string, any>, toUserIds?: string | string[]) => Promise<boolean>);
          }
        • 带看的一些操作

          Returns

          Returns {
              broadcast: ((data: Record<string, any>, toUserIds: string | string[], timeout?: number) => Promise<unknown>);
              connect: ((options: LiveConnectOptions) => Promise<boolean | Error>);
              exit: (() => Promise<void>);
              forbidMicro: ((micro: MicroStatus, toUserIds?: string | string[]) => Promise<boolean>);
              forbidSync: ((sync: boolean, toUserIds?: string | string[]) => Promise<boolean>);
              getFramesByKey: ((key: keyof KeyframesSnapshot) => undefined | Partial<KeyframesSnapshot>[keyof KeyframesSnapshot]);
              kick: ((toUserIds: string | string[]) => Promise<boolean>);
              sendKeyframe: ((key: keyof KeyframesSnapshot, frame: KeyframesSnapshot[keyof KeyframesSnapshot]) => boolean | Error);
              setSelfInfo: ((userInfo: Partial<UserInfo>) => Promise<boolean>);
              toggleMicro: ((microStatus: boolean) => Promise<boolean>);
              updateStatus: ((evtType: BuiltinEventType, atnType: BuiltinActionType, status: Record<string, any>, toUserIds?: string | string[]) => Promise<boolean>);
          }

          • broadcast: ((data: Record<string, any>, toUserIds: string | string[], timeout?: number) => Promise<unknown>)
              • (data: Record<string, any>, toUserIds: string | string[], timeout?: number): Promise<unknown>
              • Parameters

                • data: Record<string, any>
                • toUserIds: string | string[]
                • timeout: number = 0

                Returns Promise<unknown>

          • connect: ((options: LiveConnectOptions) => Promise<boolean | Error>)
          • exit: (() => Promise<void>)
              • (): Promise<void>
              • Returns Promise<void>

          • forbidMicro: ((micro: MicroStatus, toUserIds?: string | string[]) => Promise<boolean>)
              • (micro: MicroStatus, toUserIds?: string | string[]): Promise<boolean>
              • Parameters

                Returns Promise<boolean>

          • forbidSync: ((sync: boolean, toUserIds?: string | string[]) => Promise<boolean>)
              • (sync: boolean, toUserIds?: string | string[]): Promise<boolean>
              • Parameters

                • sync: boolean
                • toUserIds: string | string[] = []

                Returns Promise<boolean>

          • getFramesByKey: ((key: keyof KeyframesSnapshot) => undefined | Partial<KeyframesSnapshot>[keyof KeyframesSnapshot])
              • (key: keyof KeyframesSnapshot): undefined | Partial<KeyframesSnapshot>[keyof KeyframesSnapshot]
              • Parameters

                • key: keyof KeyframesSnapshot

                Returns undefined | Partial<KeyframesSnapshot>[keyof KeyframesSnapshot]

          • kick: ((toUserIds: string | string[]) => Promise<boolean>)
              • (toUserIds: string | string[]): Promise<boolean>
              • Parameters

                • toUserIds: string | string[]

                Returns Promise<boolean>

          • sendKeyframe: ((key: keyof KeyframesSnapshot, frame: KeyframesSnapshot[keyof KeyframesSnapshot]) => boolean | Error)
              • (key: keyof KeyframesSnapshot, frame: KeyframesSnapshot[keyof KeyframesSnapshot]): boolean | Error
              • Parameters

                • key: keyof KeyframesSnapshot
                • frame: KeyframesSnapshot[keyof KeyframesSnapshot]

                Returns boolean | Error

          • setSelfInfo: ((userInfo: Partial<UserInfo>) => Promise<boolean>)
              • (userInfo: Partial<UserInfo>): Promise<boolean>
              • Parameters

                Returns Promise<boolean>

          • toggleMicro: ((microStatus: boolean) => Promise<boolean>)
              • (microStatus: boolean): Promise<boolean>
              • Parameters

                • microStatus: boolean

                Returns Promise<boolean>

          • updateStatus: ((evtType: BuiltinEventType, atnType: BuiltinActionType, status: Record<string, any>, toUserIds?: string | string[]) => Promise<boolean>)
    • useLiveEventCallback: (<K>(name: K, callback: ((...args: Parameters<LiveEventType<KeyframesSnapshot>[K]>) => ReturnType<LiveEventType<KeyframesSnapshot>[K]>), deps?: DependencyList) => (() => void))
        • <K>(name: K, callback: ((...args: Parameters<LiveEventType<KeyframesSnapshot>[K]>) => ReturnType<LiveEventType<KeyframesSnapshot>[K]>), deps?: DependencyList): (() => void)
        • Type Parameters

          Parameters

          • name: K
          • callback: ((...args: Parameters<LiveEventType<KeyframesSnapshot>[K]>) => ReturnType<LiveEventType<KeyframesSnapshot>[K]>)
          • deps: DependencyList = []

          Returns (() => void)

            • (): void
            • Returns void

    • useLiveState: (() => LiveState)
    • useRTCAction: (() => {
          detectMicro: (() => Promise<boolean>);
          join: ((options: {
              roomId: string;
              type: RTCType;
              userId: string;
              voiceId: string;
          }) => Promise<boolean>);
          quit: (() => Promise<boolean>);
          shock: (() => undefined | void);
          toggleMicro: ((flag?: boolean) => Promise<boolean>);
      })
        • (): {
              detectMicro: (() => Promise<boolean>);
              join: ((options: {
                  roomId: string;
                  type: RTCType;
                  userId: string;
                  voiceId: string;
              }) => Promise<boolean>);
              quit: (() => Promise<boolean>);
              shock: (() => undefined | void);
              toggleMicro: ((flag?: boolean) => Promise<boolean>);
          }
        • Returns {
              detectMicro: (() => Promise<boolean>);
              join: ((options: {
                  roomId: string;
                  type: RTCType;
                  userId: string;
                  voiceId: string;
              }) => Promise<boolean>);
              quit: (() => Promise<boolean>);
              shock: (() => undefined | void);
              toggleMicro: ((flag?: boolean) => Promise<boolean>);
          }

          • detectMicro: (() => Promise<boolean>)
              • (): Promise<boolean>
              • Returns Promise<boolean>

          • join: ((options: {
                roomId: string;
                type: RTCType;
                userId: string;
                voiceId: string;
            }) => Promise<boolean>)
              • (options: {
                    roomId: string;
                    type: RTCType;
                    userId: string;
                    voiceId: string;
                }): Promise<boolean>
              • Parameters

                • options: {
                      roomId: string;
                      type: RTCType;
                      userId: string;
                      voiceId: string;
                  }
                  • roomId: string
                  • type: RTCType
                  • userId: string
                  • voiceId: string

                Returns Promise<boolean>

          • quit: (() => Promise<boolean>)
              • (): Promise<boolean>
              • Returns Promise<boolean>

          • shock: (() => undefined | void)
              • (): undefined | void
              • Returns undefined | void

          • toggleMicro: ((flag?: boolean) => Promise<boolean>)
              • (flag?: boolean): Promise<boolean>
              • Parameters

                • Optional flag: boolean

                Returns Promise<boolean>

    • useRTCEventCallback: (<K>(name: K, callback: ((...args: Parameters<RTCEventType[K]>) => ReturnType<RTCEventType[K]>), deps?: DependencyList) => (() => void))
    • useSelfInfo: (() => CallbackType)
        • (): CallbackType
        • Returns CallbackType

    • useUserList: (() => UserInfo[])