
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
react-util-kit
Advanced tools
A long time has passed since I wrote this package and it's beginning to age. In the interest of performance, I no longer wanted to bundle together multiple compononents and distribute them together, therefore I decided to split out ConditionallyRender into it's own package that is updated with modern technology and is also typescript ready. You can find the relevant links here:
react-util-kit is a small library focused on common operations with React simple and readable by wrapping them in components. react-util-kit is primarily concerned with behaviour, not styling nor boilerplate. I don't make any assumptions about how you want to style or structure your code.
npm install --save react-util-kit
Import the whole library like this:
import reactUtils from 'react-util-kit'
Or use individual components:
import { ConditionallyRender, Dropdown } from 'react-util-kit'
import { ConditionallyRender } from 'react-util-kit'
The ConditionallyRender component makes conditional rendering in React simple and readable. It takes an expression, component to render if expression is true and alternatively a component to render if the expression is false.
The component takes the following Props:
ifTrue: boolean,
show: React Component,
elseShow: React Component,
Examples:
class SomeClass extends Component {
constructor(props) {
super(props);
this.state {
show: false;
}
}
handleButtonClick = () => this.setState(prevState => ({ show: !prevState.show }))
render() {
<div className="container">
<ConditionallyRender ifTrue={this.state.show} show={<Sidebar />} elseShow={<SomeContent />}/>
<button onClick={this.handleButtonClick}>Show Sidebar</button>
</div>
}
}
import { Dropdown } from 'react-util-kit'
The Dropdown component exposes a render method that sends through properties from the component. It gives you access to a dropdownOpen boolean, and methods for controlling this state.
It gives you the following properties through a render property:
dropdownOpen: boolean,
toggleDropdown: () => void (toggles dropdownOpen state)
closeDropdown: () => void (switches dropdownOpen to false)
openDropdown: () => void (switches dropdownOpen to true)
Examples:
JS:
class SomeClass extends Component {
render() {
<div className="container">
<Dropdown render={(dropdownOpen, toggleDropdown) => {
<ConditionallyRender ifTrue={dropdownOpen} show={<DropdownMenu />} />
<button onClick={toggleDropdown}>Show dropdown menu</button>
} }>
</div>
}
}
FAQs
Contains utility components for React
The npm package react-util-kit receives a total of 64 weekly downloads. As such, react-util-kit popularity was classified as not popular.
We found that react-util-kit 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
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

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.