我应该将 key/value 对合并为一个 useState 挂钩吗?

Should I consolidate key/value pairs into a single useState hook?

在大多数情况下,哪一个是最佳做法?

例如:

const [currentDaypart, setCurrentDaypart] = useState({})
const [nextDaypart, setNextDaypart] = useState({})

const [daypart, setDaypart] = useState({
    current: {},
    next: {}
})

????

第一个更好。通常,您应该注意 React 状态中的深层嵌套对象。为避免意外行为,状态应不可变地更新。

一旦你深度克隆状态,React 将重新计算并重新渲染依赖于变量的所有内容,即使它们没有改变!你先把状态弄平。一旦这样做,您就会发现有助于处理大状态的漂亮工具,例如 useReducer()。