资讯专栏INFORMATION COLUMN

20170612-点滴记录

Dr_Noooo / 1498人阅读

摘要:简单地说,加入当前的值是,第一次调用传给的参数是,第二次调用时,参数是,第三次调用时,参数是,最终的效果是让变为。值得一提的是,在函数被调用时,并没有改变,的改变要等到函数被重新执行时或者函数返回之后才被改变。

less中串联选择器的表示
.container {
    &.content {
    
    }
}

上面的&符号表示串联选择器,&.content表示选择到.container.content这样的元素

react中函数式的setState用法
this.setState((oldState, oldProps)=>{
    // 根据当前state和props计算新的state值
    ....
    return {newState}
})

如果传递给this.setState的参数不是一个对象而是一个函数

这个函数会接受两个参数,第一个参数是当前的state值,第二个是当前的props,这个函数返回一个对象,这个对象代表想要对this.state的更改。

例子

function increment(state, props){
    return {count: state.count+1}
}

function incrementMultiple(){
    // 假设默认的state中的count的值为0,
    // 则第一次setState时向increment传递的state的count的值为0
    this.setState(increment)
    // this.state的count的值仍然为0
    // 向increment传递的state的count的值为1
    this.setState(increment)
    // this.state的count的值仍然为0
    // 向increment传递的state的count的值为2
    this.setState(increment)
}
// 调用上述函数,最终this.state.count会成为3

对于多次调用函数式setState的情况,React会保证调用每次increment时,state都已经合并了之前的状态修改结果。简单地说,加入当前this.state.count的值是0,第一次调用this.setState(increment),传给increment的state参数是0,第二次调用时,state参数是1,第三次调用时,参数是2,最终incrementMultiple的效果是让this.state.count变为3。

值得一提的是,在increment函数被调用时,this.state并没有改变,this.state的改变要等到render函数被重新执行时(或者shouldComponentUpdate函数返回false之后)才被改变。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/112137.html

相关文章

  • 20170612-Event Loop

    摘要:具体来说,异步执行的运行机制如下。同步执行也是如此,因为它可以被视为没有异步任务的异步执行。主线程之外,还存在一个任务队列。那些对应的异步任务,于是结束等待状态,进入执行栈,开始执行。 所有任务可以分成两种,一种是同步任务(synchronous),另一种是异步任务(asynchronous)。同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;异步任...

    smallStone 评论0 收藏0
  • 记录代码的点滴

    摘要:年月日,我注册了博客园的账户,开始记录我的代码日常。于是乎今天就注册了一个账户,申请了一下博客,没想到数分钟就批准了,这里给博客园的大大点一个赞。  2019年4月1日,我注册了博客园的账户,开始记录我的代码日常。   学习web前端,是我之前没有考虑过的事情。在大学浑浑噩噩度过了四年后,终于意识到就业的危机,刚入学的时候听到学长学姐们说毕业即失业,感觉离自己很遥远,但临近毕业我却亲身体会到...

    chnmagnus 评论0 收藏0
  • JS点滴记录

    摘要:没有简明的说,定义变量时省略是不安全的,不过是合法的。这时无论该变量是在什么位置定义的,解释器都会赋予该变量以全局作用域。有安全的,合法的。 Var 1、没有var 简明的说,定义变量时省略var是不安全的,不过是合法的。这时无论该变量是在什么位置定义的,解释器都会赋予该变量以全局作用域。 2、有var 安全的,合法的。定义的变量的作用域取决于定义的位置。 getCookie: fu...

    cocopeak 评论0 收藏0
  • 前端点滴

    摘要:走在前端的大道上持续更新,最后更新时间年月日从作用域说开去不再彷徨完全弄懂中的译文总结你不知道的妙用深入理解之和中的对象拷贝高度自适应的个方法中与区别中回调地狱的今生前世细谈中的一些设计模式重温核心概念和基本用法图片预加载及插件编写实例跨域 走在前端的大道上 持续更新,最后更新时间2017年6月19日 从 JavaScript 作用域说开去 不再彷徨:完全弄懂JavaScript中的...

    CoderDock 评论0 收藏0

发表评论

0条评论

Dr_Noooo

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<