Javascript 在React JS中,useState()钩子没有';t合并对象道具?

Javascript 在React JS中,useState()钩子没有';t合并对象道具?,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,我有点好奇,为什么他们用这种方式实现它,我们必须分解并覆盖前面的对象,而不是由钩子自动完成。这是出于某种特定的原因故意的吗 setObject(...object, objProp : newProp) //why?? 编辑:我现在在想,他们可能会保留这种方式,以便在我们想用新道具替换整个对象而不是简单地更新旧道具时提供更大的灵活性。。我可能错了,但另一个原因是,因为在一个组件中可以有多个useState挂钩,所以可以将状态拆分为逻辑上独立的部分。尝试使用多个useState钩子来处理简单数据

我有点好奇,为什么他们用这种方式实现它,我们必须分解并覆盖前面的对象,而不是由钩子自动完成。这是出于某种特定的原因故意的吗

setObject(...object, objProp : newProp) //why??

编辑:我现在在想,他们可能会保留这种方式,以便在我们想用新道具替换整个对象而不是简单地更新旧道具时提供更大的灵活性。。我可能错了,但另一个原因是,因为在一个组件中可以有多个useState挂钩,所以可以将状态拆分为逻辑上独立的部分。尝试使用多个useState钩子来处理简单数据,而不是一个useState钩子来处理复杂对象,然后看看它是如何运行的。是的,这就是我一直在做的,但是当将多个状态变量分组到一个对象中或者当我必须键入大量的[状态,设置状态]=useState()对于每个变量,而不是将它们全部转储到一个对象中。如果这真的让你感到困扰,那么制作一个行为像你所希望的那样的
useMergeState
自定义钩子应该不会太难。好主意!我将不得不考虑制作自定义钩子。以前还没有做过。这是我唯一对功能组件的不满。比谢谢你的建议!