This almost identical to clean-state. But where clean-state makes a separate call to React.useState() for each top-level property in you initialState object, merge-state instead makes a single call passing the entire object as a whole.
React.useState()
initialState
API.