
Security News
Packagist Urges Immediate Composer Update After GitHub Actions Token Leak
Packagist urges PHP projects to update Composer after a GitHub token format change exposed some GitHub Actions tokens in CI logs.
react-singleton-component
Advanced tools
Easiest way to control the state from outside of the React world.
npm i react-singleton-component
import { createSingletonComponent } from "react-singleton-component";
const SelfIntroduction = createSingletonComponent(
{ name: "John Smith", age: 35 },
props => <p style={{color: props.color}}>{props.name} ({props.age})</p>
);
ReactDOM.render(<SelfIntroduction color="blue" />, document.getElementById("container"));
SelfIntroduction.setState({ age: SelfIntroduction.state.age + 1 });
createSingletonComponent returns a React.Component constructor with static method setState and static property state. The first argument is used as the default state of the returned component, and passed as the props of the component specified in the second argument.
createSingletonComponent has two generics parameters of props and state. They will be combined to one object and passed as props.
type Props = { color: string };
type State = { name: string, age: number };
const SelfIntroduction = createSingletonComponent<Props, State>(
{ name: "John Smith", age: 35 },
props => <p style={{color: props.color}}>{props.name} ({props.age})</p>
);
ReactDOM.render(<SelfIntroduction color="blue" />, document.getElementById("container"));
SelfIntroduction.setState({ age: SelfIntroduction.state.age + 1 });
If you do not need props, TypeScript language server will automatically infer the type of state!
FAQs
Easiest way to control the state from outside of the React world.
We found that react-singleton-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.

Security News
Packagist urges PHP projects to update Composer after a GitHub token format change exposed some GitHub Actions tokens in CI logs.

Research
GemStuffer abuses RubyGems as an exfiltration channel, packaging scraped UK council portal data into junk gems published from new accounts.

Company News
Socket was named to the Rising in Cyber 2026 list, recognizing 30 private cybersecurity startups selected by CISOs and security executives.