English | 한국어
A collection of lightweight, zero-dependency React utilities for building robust applications.
| Package | Description | Version |
|---|---|---|
| react-simplikit | Universal hooks - pure state/logic hooks (platform-independent) | |
| @react-simplikit/mobile | Mobile web utilities (viewport, keyboard, scroll) |
Note:
react-simplikitis now maintained as a Universal Hook Library providing only pure state/logic hooks that work across web and mobile (React Native). Browser/platform-dependent hooks are deprecated. See packages/core/README.md for details.
- 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
# Core utilities
npm install react-simplikit
# Mobile web utilities
npm install @react-simplikit/mobileimport { useState, useEffect } from 'react';
import { useDebounce } from 'react-simplikit';
function SearchInput() {
const [query, setQuery] = useState('');
const debouncedQuery = useDebounce(query, 300);
useEffect(() => {
if (debouncedQuery) {
searchAPI(debouncedQuery);
}
}, [debouncedQuery]);
return <input value={query} onChange={(e) => setQuery(e.target.value)} />;
}import { useAvoidKeyboard, useBodyScrollLock } from '@react-simplikit/mobile';
function ChatInput() {
const { ref, style } = useAvoidKeyboard();
return (
<div ref={ref} style={style}>
<input type="text" placeholder="Type a message..." />
</div>
);
}
function Modal({ isOpen }) {
useBodyScrollLock(isOpen);
// ...
}Visit react-simplikit.slash.page for full documentation.
packages/
├── core/ # react-simplikit (hooks, components, utils)
└── mobile/ # @react-simplikit/mobile (mobile web utilities)
We welcome contributions from everyone! Please check our contribution guide.
MIT © Viva Republica, Inc. See LICENSE for details.

