beautiful-react-hooks
Version:
A collection of beautiful (and hopefully useful) React hooks to speed-up your components and hooks development
9 lines (8 loc) • 490 B
JavaScript
import { useCallback, useReducer } from 'react';
const reducer = (previousState, updatedState) => (Object.assign(Object.assign({}, previousState), updatedState));
const useObjectState = (initialState) => {
const [state, dispatch] = useReducer((previousState, updatedState) => reducer(previousState, updatedState), initialState);
const setState = useCallback((updatedState) => { dispatch(updatedState); }, [dispatch]);
return [state, setState];
};
export default useObjectState;