0.2.1 ā¢ Published 2 years ago
use-box v0.2.1
use-box
š¦ just a box, nobody use
ē®åēč·Øē»ä»¶ē¶ęē®”ē
Example
interface BoxState {
label: string | undefined;
size: number;
}
const labelBox = createBox(
{
label: undefined,
size: 0,
} as BoxState,
{
async fetch() {
let {label, size} = fetch('https://box.server');
return {
label,
size,
};
},
increase(state, size) {
if (state.size + size > 10) {
return;
}
return {
size: state.size + size,
};
},
},
{
autoResolveDependencies: true,
},
);
export const useLabelBox = labelBox.useBox;
const Component: FC = () => {
const [{label, size}, {increase}] = useLabelBox();
//
return <></>;
};
// TODO: getter example & docs
Features
- getter value
- async action ( Support partial state update )
- auto resolve update dependencies ( Power by Proxy )
- types safe
License
MIT