react-socket-hook
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

React Socket Hook

GitHub David GitHub code size in bytes GitHub release (latest by date) npm type definitions GitHub package.json dynamic

使用

# install
yarn add react-socket-hook

基础用法

import useSocket from 'react-socket-hook'

const { send } = useSocket('wss://echo.websocket.org', {
  onReceived: (data: DataType) => {
    // handle data in here.
  }
})

// send some data
send('something')

声明

export declare type DataType = string | ArrayBufferLike | Blob | ArrayBufferView

export interface UseSocketOptions {
  protocols?: WebSocket['protocol']
  binaryType?: BinaryType
  /**
   * 自动连接 auto connect server when it is ready.
   * @default true
   */
  autoConnect?: boolean
  onConnected?: () => void
  onClosed?: () => void
  onReceived?: (data: DataType) => void
  onError?: (errEvent: Event) => void
}

export interface UseSocketReturn {
  /**
   * 主动调用来拉起连接。 connect server.
   * 如果当前已是连接状态,则会保持状态。 if it is connected, will keep state.
   */
  connect: () => void
  /**
   * 主动断开连接。 disconnect server.
   */
  close: () => void
  /**
   * 发送数据。send data to server.
   * @param data
   */
  send: (data: DataType) => Promise<void>
}

export declare type UseSocket = (
  url: string,
  options?: UseSocketOptions
) => UseSocketReturn

常用指令

# 开发 develop
yarn dev
# 打包 build package
yarn build
# 提交代码 commit code
yarn cz

Package Sidebar

Install

npm i react-socket-hook

Weekly Downloads

1

Version

1.0.4

License

MIT

Unpacked Size

11.5 kB

Total Files

5

Last publish

Collaborators

  • vingeray