
Company News
/Security News
Socket Selected for OpenAI's Cybersecurity Grant Program
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.
sockette-component
Advanced tools
A (367 byte gzip) Sockette component for React and Preact
Note: This is a component factory for binding Lukeed's sockette library to react and preact.
This is a very light component that exposes sockette's API via component properties.
Please note that (1) nothing is rendered to the DOM and (2) the WebSocket is closed before unmounting!
This module exposes three module definitions:
dist/sockette-component.es.jsdist/sockette-component.jsdist/sockette-component.min.jsIf using the UMD bundle, the library is exposed as socketteComponent globally.
$ npm install --save sockette-component
Quick example that wraps Sockette within a custom component.
import { Component, createElement } from "react";
import createSocket from "sockette-component";
const Socket = createSocket({
Component,
createElement
});
class Foobar extends Component {
state = {
socket: null
};
onOpen = ev => {
console.log("> Connected!", ev);
};
onMessage = ev => {
console.log("> Received:", ev.data);
};
onReconnect = ev => {
console.log("> Reconnecting...", ev);
};
sendMessage = _ => {
// WebSocket available in state!
this.stte.ws.send("Hello, world!");
};
render() {
return (
<div class="demo">
<button onclick={this.sendMessage}>SEND</button>
<Sockette
url="wss://..."
getSocket={socket => {
this.setState(socket);
}}
maxAttempts={25}
onopen={this.onOpen}
onmessage={this.onMessage}
onreconnect={this.onReconnect}
/>
</div>
);
}
}
import { h, Component } from "preact";
import Sockette from "sockette-component";
const Socket = createSocket({
Component,
createElement: h
});
class Foobar extends Component {
state = {
socket: null
};
onOpen = ev => {
console.log("> Connected!", ev);
};
onMessage = ev => {
console.log("> Received:", ev.data);
};
onReconnect = ev => {
console.log("> Reconnecting...", ev);
};
sendMessage = _ => {
// WebSocket available in state!
this.state.ws.send("Hello, world!");
};
render() {
return (
<div class="demo">
<button onclick={this.sendMessage}>SEND</button>
<Sockette
url="wss://..."
getSocket={socket => {
this.setState(socket);
}}
maxAttempts={25}
onopen={this.onOpen}
onmessage={this.onMessage}
onreconnect={this.onReconnect}
/>
</div>
);
}
}
Please see Sockette's Options — all props are passed directly to sockette.
Type: String
The URL you want to connect to — see Sockette's docs.
The active WebSocket is sent on mount of Socket component by calling getSocket prop callback. You can save it by any means via providing a getSocket prop as shown in the example above. This means that you can programmatically interact with Sockette's API, including close(), reconnect(), send(), etc.
When <Sockette/> is unmounted, the WebSocket is closed (ws.close()).
MIT © Farzad YZ
FAQs
Sockette component for React and Preact
We found that sockette-component demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.

Security News
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.

Research
/Security News
Campaign of 108 extensions harvests identities, steals sessions, and adds backdoors to browsers, all tied to the same C2 infrastructure.