摘要:简单地说,加入当前的值是,第一次调用传给的参数是,第二次调用时,参数是,第三次调用时,参数是,最终的效果是让变为。值得一提的是,在函数被调用时,并没有改变,的改变要等到函数被重新执行时或者函数返回之后才被改变。
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
摘要:具体来说,异步执行的运行机制如下。同步执行也是如此,因为它可以被视为没有异步任务的异步执行。主线程之外,还存在一个任务队列。那些对应的异步任务,于是结束等待状态,进入执行栈,开始执行。 所有任务可以分成两种,一种是同步任务(synchronous),另一种是异步任务(asynchronous)。同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;异步任...
阅读 935·2021-11-22 09:34
阅读 2146·2021-11-11 16:54
阅读 2174·2021-09-27 14:00
阅读 921·2019-08-30 15:55
阅读 1509·2019-08-29 12:46
阅读 579·2019-08-26 18:42
阅读 614·2019-08-26 13:31
阅读 3165·2019-08-26 11:52