何时在“setState”中使用对象而不是使用功能“setState”?

罗文X

我阅读了很多关于使用这样的功能的文章setState

this.setState((state, props) => ({   counter: state.counter + props.increment }));

但是我们什么时候真正需要将它用作这样的对象:

this.setState({quantity: 2})

为什么我们应该setState在正常情况下使用对象而不是将其用作函数,是否有重要原因

伊哈布

规范是使用一个对象,它的代码也更少,更容易阅读。你想要使用函数 setState 的唯一原因是当你需要访问以前的状态时。

考虑下面的例子

// you have a switch state

state = {
   checked: false
}

// .. and later in an onChange method 

onChange = () => {
   const {checked} = this.state;
   // this is problematic because react works in an async fashion, so it could be that when this function was called checked was false, however it was only executed later when checked was actually true 
   this.setState({checked: !checked} 

  // on the other hand  this form is safe, even if things were happening async, you are safe because you act on the most updated state 
   this.setState(prvState => {...prvState, checked: !prvState.checked})
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Javascript

何时使用功能setState

来自分类Dev

何时在Flutter中使用setState?

来自分类Dev

在React中使用setState更新对象

来自分类Dev

在React中使用setState更新对象

来自分类Dev

为什么我在异步功能中使用setState而不是更新状态(Flutter)?

来自分类Dev

在 ListView 中使用 setState

来自分类Dev

在setState中使用Navigator

来自分类Dev

在setTimeout函数中使用this.setState时出现“未定义不是对象”错误

来自分类Dev

样式化组件在样式化对象中使用功能

来自分类Dev

是否有强制使用功能性 setState 的 eslint-react 规则?

来自分类Dev

React:如何使用功能 usestate/useEffect 复制特定组件类 setstate 回调示例?

来自分类Dev

如何在功能组件 React 中使用 setState?

来自分类Dev

如何在地图功能中使用setState

来自分类Dev

在嵌套的 addEventListener 函数中使用 setState 时,“this.setState 不是函数”

来自分类Dev

Flutter-何时使用setState()安装?

来自分类Dev

如何在Reactjs中使用setState映射更新对象

来自分类Dev

在反应中使用 setState 钩子更改嵌套对象的值

来自分类Dev

在Flutter中使用setState时?

来自分类Dev

在表单中使用函数setState

来自分类Dev

在setState中使用变量-反应

来自分类Dev

在Powershell中使用功能替换

来自分类Dev

在OOP中使用功能是否不好?

来自分类Dev

如何在Jquery中使用功能?

来自分类Dev

Laravel在查询中使用功能

来自分类Dev

在std :: vector中使用功能擦除

来自分类Dev

在替换的dom内容中使用功能

来自分类Dev

在pygame中使用功能移动精灵

来自分类Dev

在不同文件中使用功能

来自分类Dev

通过使用对象来调用功能?

Related 相关文章

热门标签

归档