自定义hook 自动合并state对象
function useObjectState(initObj) { //初始state只会在首次渲染时起到作用 //在后续的渲染中 useState 永远返回的是最新的值 传递给组件 //然后把相关的state组合成几个独立state变量时,组件就会更加的可读 const [obj, setObj] = useState(initObj); const setMargeObj = x => { typeof x == 'function' ? setObj((obj) => ({ ...obj, ...x(obj) })) : setObj((obj) => ({ ...obj, ...x })) } console.log(obj) return [obj, setMargeObj] }

浙公网安备 33010602011771号