Reactjs 可以在react中动态添加useState钩子吗?

Reactjs 可以在react中动态添加useState钩子吗?,reactjs,react-hooks,Reactjs,React Hooks,我正在做一个项目,在这个项目中,用户可以创建“东西”,然后我将状态与之关联 关于我是如何做到这一点的一个简单版本基本上是: function App() { const [things, setThings] = useState({}) } 不幸的是,最终的结果是一个相当大的嵌套(至少有几层深)对象 大概是这样的: { things: [ { field1: 'value1', field2: {...} ...

我正在做一个项目,在这个项目中,用户可以创建“东西”,然后我将状态与之关联

关于我是如何做到这一点的一个简单版本基本上是:

function App() {
   const [things, setThings] = useState({})
}
不幸的是,最终的结果是一个相当大的嵌套(至少有几层深)对象

大概是这样的:

{
  things: [
      {
         field1: 'value1',
         field2: {...}
         ...
      },
      ...
   ],
   otherThings: ...
}
我知道在一个钩子中存储这么多东西并不理想,特别是因为它的不同部分基本上会不断更新

所以我的问题基本上是: 是否有某种方式可以动态添加不同的useState挂钩,以便我的状态管理看起来更像:

   const [thing1, setThing1] = useState({...})
   const [thing2, setThing1] = useState({...})
   const [otherthing1, setOtherthing1] = useState({...})

根据用户操作添加或删除不同的useState钩子时?

钩子不能被删除。React建议使用多个状态并同时更改。如果您的状态确实很大(嵌套不会使其变大,总大小会变大),则可以使用浏览器存储,如或,以防止浏览器使用过多资源和崩溃。

不能使用挂钩。React建议使用多个状态并同时更改。如果您的状态确实很大(嵌套不会使其变大,总大小会变大),则可以使用浏览器存储,如或,以防止浏览器使用过多资源和崩溃