1 | import { useState } from 'react'
|
2 | import webpackMerge from 'webpack-merge'
|
3 |
|
4 | function makeMergeyUpdater(replaceState) {
|
5 | return function(valuesToMerge) {
|
6 | return replaceState(state => webpackMerge(state, valuesToMerge))
|
7 | }
|
8 | }
|
9 |
|
10 | export function useMergeyState(initialState = {}) {
|
11 | const [state, replaceState] = useState(initialState)
|
12 |
|
13 | return [state, makeMergeyUpdater(replaceState)]
|
14 | }
|