nedux-logger
Version:
the next redux state management
16 lines (13 loc) • 440 B
JavaScript
import { useState, useCallback, useEffect } from 'react';
const createStoreHook = store => key => {
const [value, setValue] = useState(store.get(key));
const setter = useCallback(newValue => store.set(key, newValue), [key]);
useEffect(() => {
const subscription = store.subscribe(key, {
next: setValue
});
return () => subscription.unsubscribe();
}, []);
return [value, setter];
};
export { createStoreHook };