English | 한국어 | 日本語 | 简体中文 | Español
A collection of lightweight, zero-dependency React utilities for building robust applications.
| Package | Description | Version |
|---|---|---|
| react-simplikit | Universal hooks - state/logic hooks plus mobile web utilities, all from one entry |
Note: every hook ships from the single
react-simplikitentry — mobile web utilities (viewport, keyboard, scroll) included. This replaces the deprecated@react-simplikit/mobilepackage. Hooks touch browser APIs only inside their bodies, so importing the root stays safe on React Native and SSR.
- Zero dependencies - Extremely lightweight
- 100% TypeScript - Full type safety
- 100% Test coverage - Reliable and stable
- SSR-safe - Works with Next.js and other SSR frameworks
- Tree-shakeable - Only bundle what you use
# One install covers both the root hooks and the mobile subpath
npm install react-simplikitimport { useState } from 'react';
import { useDebounce } from 'react-simplikit';
function SearchInput() {
const [query, setQuery] = useState('');
const debouncedSearch = useDebounce((value: string) => {
// Actual API call
searchAPI(value);
}, 300);
return (
<input
value={query}
onChange={e => {
setQuery(e.target.value);
debouncedSearch(e.target.value);
}}
placeholder="Enter search term"
/>
);
}The debounced function exposes .cancel(), and pending calls are cancelled automatically when the component unmounts.
import { useAvoidKeyboard, useBodyScrollLock } from 'react-simplikit';
function ChatInput() {
const { style } = useAvoidKeyboard();
return (
<div style={{ position: 'fixed', bottom: 0, left: 0, right: 0, ...style }}>
<input type="text" placeholder="Type a message..." />
</div>
);
}
// `useBodyScrollLock` locks body scroll while the component is mounted,
// and unlocks it automatically on unmount. Render this only while the modal is open.
function BodyScrollLock() {
useBodyScrollLock();
return null;
}Visit react-simplikit.slash.page for full documentation.
packages/
└── react-simplikit/ # react-simplikit (hooks, components, utils; mobile web utilities in src/mobile)
We welcome contributions from everyone! Please check our contribution guide.
MIT © Viva Republica, Inc. See LICENSE for details.

