自定義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號