在 React 中使用 useState 钩子为多个设置状态渲染一次

9 reactjs react-component react-hooks

有没有办法在更新多个状态后刷新/渲染一次功能组件?

例如:

const [first, setFirst] = useState(false);
const [second, setSecond] = useState(false);
Run Code Online (Sandbox Code Playgroud)

当被叫...

...
setFirst(true);
setSecond(true);
Run Code Online (Sandbox Code Playgroud)

...然后该组件将刷新两次。是否可以同时设置并刷新(或渲染)一次?

小智 5

您可以将状态用作对象并将它们设置为一个而不是单独的状态,例如

const [exampleState, setExampleState] = useState(
  {fields: {
        fieldOne: false,
        fieldTwo: false
        }
   })
Run Code Online (Sandbox Code Playgroud)

你可以这样设置

    setExampleState({...exampleState, fields: {
        fieldOne: true,
        fieldTwo: true
        },
   })
Run Code Online (Sandbox Code Playgroud)