栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

初始化状态,没有构造函数在反应

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初始化状态,没有构造函数在反应

关于问题2,请参见Dan的出色解答:在这种情况下,是否需要使用setState(function)重载?


  1. 不,这不是局部变量。与

    this.state
    在构造函数中声明相同。

  2. 是的,在这种情况下,您只能使用

    this.setState({ value: this.state.value + 1 })
    ,结果将是相同的。

但是请注意,使用功能

setState
可以带来一些好处:

  1. 如果在外部声明setState函数,则可以重用它:
        const increment = prevState => ({      value: prevState.value + 1    })

现在,如果您有多个组件需要使用此功能,则只需在任何地方导入和重用逻辑。

    this.setState(increment)
  1. React压扁数个
    setState
    并批量执行它们。这可能会导致某些意外行为。请参见以下示例:

http://prepen.io/CodinCat/pen/pebLaZ

        add3 () {      this.setState({ count: this.state.count + 1 })      this.setState({ count: this.state.count + 1 })      this.setState({ count: this.state.count + 1 })    }

执行此功能的

count
意志只会加1

如果使用功能性setState:

http://prepen.io/CodinCat/pen/dvXmwX

        const add = state => ({ count: state.count + 1 })    this.setState(add)    this.setState(add)    this.setState(add)

计数将按预期增加+3。

您可以在此处查看文档:https : //facebook.github.io/react/docs/react-
component.html#setstate



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/608795.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号