useSetState

React 状态钩子,用于创建和 this.setState 在类组件中作用相似的 setState 方法—它将更改的对象合并到当前状态中。

用法

  1. import {useSetState} from 'react-use';
  2. const Demo = () => {
  3. const [state, setState] = useSetState({});
  4. return (
  5. <div>
  6. <pre>{JSON.stringify(state, null, 2)}</pre>
  7. <button onClick={() => setState({hello: 'world'})}>hello</button>
  8. <button onClick={() => setState({foo: 'bar'})}>foo</button>
  9. <button
  10. onClick={() => {
  11. setState((prevState) => ({
  12. count: (prevState.count || 0) + 1,
  13. }))
  14. }}
  15. >
  16. count
  17. </button>
  18. </div>
  19. );
  20. };

参考

  1. const [state, setState] = useSetState({cnt: 0});
  2. setState({cnt: state.cnt + 1});
  3. setState((prevState) => ({
  4. cnt: prevState + 1,
  5. }));